django学习笔记
flask不包含数据库抽象层(ORM)、用户认证、表单验证、发送邮件等其它Web框架经常包含的功能
Django项目的结构布局是刚性的,每个人写的项目结构最后都差不多
使用Django能帮你节省不少寻找或开发第三方扩展的精力
==============
=============
django的一个内置命令:django-admin startproject 命令用来初始化一个 django 项目
网站需要运行在一个 Web 服务器上
修改settings.py中的配置,使其支持中文和时区
修改settings.py中的配置DATABASES ,决定使用什么样的数据库,默认是sqllite数据库
修改在 settings.py 找到 TEMPLATES 选项的DIRS,告诉 django 去哪里找模板
/static/ 前缀是我们在 settings.py 文件中通过 STATIC_URL = '/static/' 指定的
修改html,找到引用的css和JavaScript:CSS 样式文件通常在 HTML 文档的 head 标签里引入
manage.py 的常用内置命令:
runserver 命令开启了一个本地开发服务器
startapp 命令创建了一个 blog 应用【新建的应用需要到settings.py文件中注册INSTALLED_APPS】
makemigrations 和 migrate 用于创建数据库表
ORM:类名即表名,类的属性对应着表格的列,属性名即列名
比较短的字符串存储可以使用 CharField,使用 TextField 来存储大段文本。
自 django 2.0 以后,ForeignKey 必须传入一个 on_delete 参数用来指定当关联的数据被删除时,被关联的数据的行为
ForeignKey 表明一种一对多的关联关系
ManyToManyField 表明一种多对多的关联关系
django 的做法是把不同的网址对应的处理函数写在一个 urls.py 文件里,当用户访问某个网址时,django 就去会这个文件里找
绑定关系的写法是把网址和对应的处理函数作为参数传给 path 函数(第一个参数是网址,第二个参数是处理函数),另外我们还传递了另外一个参数 name,这个参数的值将作为处理函数 index 的别名
path('', views.index, name='index') # '' 的模式正是匹配一个空字符串
path('', include('blog.urls')) # include 前还有一个 '',这是一个空字符串。这里也可以写其它字符串,django 会把这个字符串和后面 include 的 urls.py 文件中的 URL 拼接
在模板中,用 {{ }} 包起来的变量叫做模板变量;用 {% %} 包裹起来的叫做模板标签
强制刷新浏览器页面:Ctrl + F5 有的浏览器是 Shift + F5