http://39.96.86.88/2020/04/20/django
头脑一热,想学django,视频看完,人都傻了。
创建一个名为myblog的django项目(myblog目录相当于一个容器,包含基本配置)
django-admin startproject myblog
运行自带服务器默认8000端口
python manage.py runserver 自定义端口
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的的根目录
templates下创建一个html文件
在views.py中返回render() 渲染
加一个字典
调用
tmplate注意点
先创建一个新的app
python manage.py startapp blog2
将blog2添加到installed_apps
将blog中的templates与urls.py复制到blog2中
将index改为blog 与 blog2
将blog的views.py的字典去掉,并将函数复制到blog2中
去容器里加上url
这里blog2却输出了blog的内容(django将index文件搞混了)
因为这里django会按照installed_apps中的顺序查找templates(相当于index.html),因此这里index的重名造成了上述情况
解决方法:将index.html放在templates下以app名为名称的文件夹里(还要检查views.py里的url里的路径是否正确)
编写Models
一个Model对应数据库中的一张数据表(ORM对象关系映射)
添加 类(字段即为类里面的属性)
生成数据表
python manage.py makemigrations app名称 --》准备
python manege.py migrate -->运行
生成的移植文件
查看sql语句
python manage.py sqlmigrate blog 0001
生成的数据库
添加一行新的(软件是 sqlite expert personal)
页面呈现数据 view.py里添加
并且要传递到前端,所以加上
到前端用这两个调用
成功
7-1 Admin
django自带的后台管理系统(能在里面操作数据库)
配置admin
先创建一个(超级)用户
python manage.py createsuperuser
访问localhost:8000/admin,输入密码(可以修改settings.py里的language_code为’zh_Hans’ zh-cn)
配置admin
添加
不知道为什么运行不了,解决方法是将models改为 .models 然后管理系统成功显现出blog内容
创建一个新的后文章后,发现管理界面的文章标题很不方便
这样一个雏形博客就搭好了,接下来是完善
完善博客
展示数据时用两个括号{ {}} ,这里用了一个{% %}
主界面:
为了获取所以文章将这里的get换成all,参数也不需要,所有article加上s
修改前端index
成功,这样主界面的链接就完成了
接下来就是将文章传到链接上去了
添加:
新建artile_pag.html
然后添加url,然后访问/blog/article/1
这里出现了问题,再次修改
访问成功
接下来是将这些url与按钮链接起来
添加命名空间
html里添加url
这样就能从博客主页面点击按钮转跳了
博客撰写页面
接下来就是写文章的功能了
创建一个新的html文件
显示这个页面
添加url
这样就有了编辑功能了
虽然丑是丑了点,但是
然后是接收写的文章的数据
添加url
添上转跳的url,并且添上跨站请求的token
如果还是出错就注释掉下列这行代码
这样就能在edit下创建文章了
现在也能将主页的 新文章 的链接放上去了
接下来是修改文章的功能
修改响应函数
添加参数
添加前端的url
出现报错请重新访问index.html.
这时点击修改文章就会跳转到对用的页面,但此时没有文章的原始数据
注意这里的代码复用,不用全敲
这时再点修改文章,就会显示数据了
但是还不能保存修改的数据
我真的累了,直接上图
成功
总结
django真不是人学的