Django 入门实战 创建一个简单博客

http://39.96.86.88/2020/04/20/django

头脑一热,想学django,视频看完,人都傻了。

创建一个名为myblog的django项目(myblog目录相当于一个容器,包含基本配置)

django-admin startproject myblog

运行自带服务器默认8000端口

python manage.py runserver 自定义端口

Django 入门实战 创建一个简单博客_第1张图片

wsgi.py   		python服务器网关接口
urls.py   		配置url(手动)
settings.py 	核心配置文件
__init__.py		声明当前文件夹为可调用模块(一般为空)

创建应用 blog

在manage.py同级目录下
python manage.py startapp blog
添加应用名(这里就是blog)到settigs.py的installed_apps中

migrations		数据移植模块
admin.py		后台配置文件
apps.py			应用配置
models.py		数据模块
tests.py		自动化测试模块
views.py		执行相应的代码所在模块
https://www.imooc.com/video/13934

编辑blog.views
编辑urls.py

完善url

新建一个template

在blog下创建一个templates的的根目录

Django 入门实战 创建一个简单博客_第2张图片

templates下创建一个html文件

Django 入门实战 创建一个简单博客_第3张图片

在views.py中返回render() 渲染

Django 入门实战 创建一个简单博客_第4张图片

Django 入门实战 创建一个简单博客_第5张图片

加一个字典

Django 入门实战 创建一个简单博客_第6张图片

调用

Django 入门实战 创建一个简单博客_第7张图片

tmplate注意点

先创建一个新的app
python manage.py startapp blog2
将blog2添加到installed_apps

Django 入门实战 创建一个简单博客_第8张图片

将blog中的templates与urls.py复制到blog2中

将index改为blog 与 blog2

Django 入门实战 创建一个简单博客_第9张图片

将blog的views.py的字典去掉,并将函数复制到blog2中

Django 入门实战 创建一个简单博客_第10张图片

Django 入门实战 创建一个简单博客_第11张图片

去容器里加上url

Django 入门实战 创建一个简单博客_第12张图片

这里blog2却输出了blog的内容(django将index文件搞混了)

image-20200419140716933

因为这里django会按照installed_apps中的顺序查找templates(相当于index.html),因此这里index的重名造成了上述情况

解决方法:将index.html放在templates下以app名为名称的文件夹里(还要检查views.py里的url里的路径是否正确)

image-20200419141810704

编写Models

一个Model对应数据库中的一张数据表(ORM对象关系映射)

Django 入门实战 创建一个简单博客_第13张图片

添加 类(字段即为类里面的属性)

Django 入门实战 创建一个简单博客_第14张图片

Django 入门实战 创建一个简单博客_第15张图片

生成数据表

python manage.py makemigrations app名称  --》准备
python manege.py migrate  -->运行

Django 入门实战 创建一个简单博客_第16张图片

生成的移植文件

Django 入门实战 创建一个简单博客_第17张图片

查看sql语句

python manage.py sqlmigrate blog 0001

Django 入门实战 创建一个简单博客_第18张图片

生成的数据库

Django 入门实战 创建一个简单博客_第19张图片

添加一行新的(软件是 sqlite expert personal)

Django 入门实战 创建一个简单博客_第20张图片

页面呈现数据 view.py里添加

Django 入门实战 创建一个简单博客_第21张图片

并且要传递到前端,所以加上

Django 入门实战 创建一个简单博客_第22张图片

Django 入门实战 创建一个简单博客_第23张图片

到前端用这两个调用

Django 入门实战 创建一个简单博客_第24张图片

成功

Django 入门实战 创建一个简单博客_第25张图片

7-1 Admin

django自带的后台管理系统(能在里面操作数据库)

配置admin
先创建一个(超级)用户
python manage.py createsuperuser

Django 入门实战 创建一个简单博客_第26张图片

访问localhost:8000/admin,输入密码(可以修改settings.py里的language_code为’zh_Hans’ zh-cn)

Django 入门实战 创建一个简单博客_第27张图片

配置admin

Django 入门实战 创建一个简单博客_第28张图片

添加

Django 入门实战 创建一个简单博客_第29张图片

不知道为什么运行不了,解决方法是将models改为 .models 然后管理系统成功显现出blog内容

Django 入门实战 创建一个简单博客_第30张图片

创建一个新的后文章后,发现管理界面的文章标题很不方便

Django 入门实战 创建一个简单博客_第31张图片

Django 入门实战 创建一个简单博客_第32张图片

Django 入门实战 创建一个简单博客_第33张图片

Django 入门实战 创建一个简单博客_第34张图片

这样一个雏形博客就搭好了,接下来是完善

完善博客

展示数据时用两个括号{{}} ,这里用了一个{% %}

Django 入门实战 创建一个简单博客_第35张图片

主界面:

为了获取所以文章将这里的get换成all,参数也不需要,所有article加上s

Django 入门实战 创建一个简单博客_第36张图片

修改前端index

Django 入门实战 创建一个简单博客_第37张图片

成功,这样主界面的链接就完成了

Django 入门实战 创建一个简单博客_第38张图片

接下来就是将文章传到链接上去了

添加:

Django 入门实战 创建一个简单博客_第39张图片

新建artile_pag.html

Django 入门实战 创建一个简单博客_第40张图片

然后添加url,然后访问/blog/article/1

Django 入门实战 创建一个简单博客_第41张图片

这里出现了问题,再次修改

Django 入门实战 创建一个简单博客_第42张图片

访问成功

Django 入门实战 创建一个简单博客_第43张图片

接下来是将这些url与按钮链接起来

Django 入门实战 创建一个简单博客_第44张图片

Django 入门实战 创建一个简单博客_第45张图片

添加命名空间

Django 入门实战 创建一个简单博客_第46张图片

Django 入门实战 创建一个简单博客_第47张图片

html里添加url

Django 入门实战 创建一个简单博客_第48张图片

这样就能从博客主页面点击按钮转跳了

博客撰写页面

接下来就是写文章的功能了

创建一个新的html文件

Django 入门实战 创建一个简单博客_第49张图片

显示这个页面

Django 入门实战 创建一个简单博客_第50张图片

添加url

Django 入门实战 创建一个简单博客_第51张图片

这样就有了编辑功能了

Django 入门实战 创建一个简单博客_第52张图片

虽然丑是丑了点,但是

Django 入门实战 创建一个简单博客_第53张图片

然后是接收写的文章的数据

Django 入门实战 创建一个简单博客_第54张图片

Django 入门实战 创建一个简单博客_第55张图片

添加url

Django 入门实战 创建一个简单博客_第56张图片

添上转跳的url,并且添上跨站请求的token

Django 入门实战 创建一个简单博客_第57张图片

如果还是出错就注释掉下列这行代码

Django 入门实战 创建一个简单博客_第58张图片

这样就能在edit下创建文章了

Django 入门实战 创建一个简单博客_第59张图片

Django 入门实战 创建一个简单博客_第60张图片

现在也能将主页的 新文章 的链接放上去了
Django 入门实战 创建一个简单博客_第61张图片

接下来是修改文章的功能

Django 入门实战 创建一个简单博客_第62张图片

Django 入门实战 创建一个简单博客_第63张图片

修改响应函数

Django 入门实战 创建一个简单博客_第64张图片

添加参数

Django 入门实战 创建一个简单博客_第65张图片

添加前端的url

Django 入门实战 创建一个简单博客_第66张图片

Django 入门实战 创建一个简单博客_第67张图片

出现报错请重新访问index.html.

这时点击修改文章就会跳转到对用的页面,但此时没有文章的原始数据

注意这里的代码复用,不用全敲

Django 入门实战 创建一个简单博客_第68张图片

这时再点修改文章,就会显示数据了

Django 入门实战 创建一个简单博客_第69张图片

但是还不能保存修改的数据

我真的累了,直接上图

Django 入门实战 创建一个简单博客_第70张图片

Django 入门实战 创建一个简单博客_第71张图片

成功

总结

django真不是人学的

你可能感兴趣的:(python)