django
模板继承:
在django中,为了让HTML相同的部分可以被重复理用,所有有了模板继承,有了母版和子版。
使用方式:
第一步:
{%extend “layout.html"%} 在子版中导入母版
第二部:
{%block mycss%}
{endblock}
{%block mycontent%}
{endblock}
{%block myjs%}
{endblock}
说明:在一个HTML中,由三部分构成,所有或有三部分进行替换,子版中多余的部分去掉即可,例如body,html字符。
数据库配置:
数据库首先需要自己创建
1.项目中的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为:
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 's8day61', ## 数据库名称
'USER': 'root',
'PASSWORD': '123', ## 安装 mysql 数据库时,输入的 root 用户的密码
'HOST': '127.0.0.1',
}
按照提示,即可对数据连接,做好工作。
2.创建APP:
命令行写入:
python3 manage.py startapp app名称
3.注册APP,在一个工程中至少有一个app.
settings.py中找到INSTALLED_APPS,需要添加我们安装的app信息,默认我们的django有6个app.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app02', 我们新建的APP1
'app03' 我们新建的APP2
]
4.为了兼容python2的数据库,需要将mysqldb换成pymysql,
在我们创建的app下的 __init__.py文件,添加如下代码。
import pymysql
pymysql.install_as_MySQLdb()
5.数据库表的创建
python3 manage.py makemigrations
这个命令是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件
python3 manage.py migrate
这条命令的主要作用就是把这些改动作用到数据库也就是执行migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性
关于app中文件的含义:
admin.py:写和digango-admin的相关配置。
apps:对app的配置。
modles:数据表的模型。
test:测试的文件
view:存放的是一些视图文件。
反向路由:
{%url 'xxx' %} html文件中
url(r'sdgggggg/$',login,name='xxx') urls文件中
作用:可以将uri数据,更改到html界面中。
路由分组:
url(r'^app01/', include('app01.urls')),
作用对app的路由进行区分。
templates:
该文件存放的全部是前端的html文件
view.py
匹配到后开始对视图函数进行处理,view视图。
python的三大web主流框架:
Diango :大而全
socket:wsgiref写的
路由和模板渲染都是自己写的。
Flask :小而青,第三方居多
Tornado:
异步非阻塞,游戏居多,处理高io。
都是自己写的
app:就是一所大学里面的学院,而我们的大学就是一个项目,一个项目里面可以有很多的app。
app文件的做用:
migrations:数据库迁移记录相关数据
admin.py:django后台管理相关。
models.py:模型表数据相关。
views.py:视图函数相关。
项目名:
setting.py 配置文件
urls.py 路由与视图函数的映射关系。
templates
项目中所用到的所有的html文件。
manage.py
django的入口文件。
middleware ;
中间件,相当于门卫