内容回顾
#### 1. HTTP协议
-
tcp/IP协议
-
HTTP特性:
-
无连接
-
请求--响应模式
-
请求格式
-
-
响应格式
-
Django相关
-
Django下载
-
命令行:
pip install django==1.11.20 # 指定版本号
pip install django==1.11.20 -i 豆瓣源
-
pycharm
-
打开file
-
settings
-
project
-
点击+号
-
input输入名称
-
不需要指定版本(直接install)
-
在右侧S开头选择对应版本,安装即可。
-
-
-
创建项目(第一次)
-
命令行模式
django-admin startproject 项目名称
-
pycharm
-
打开file
-
new project 选择django
-
在顶部选择项目路径以及,项目名称
-
选择解释器
-
app应用名称
-
create创建
-
-
-
创建app
-
命令行模式(manage.py 同级目录)
python manage.py startapp app名称
-
tools---> Run manage.py Task ----直接输入命令即可
-
-
启动项目
-
命令行模式
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 8888 # 127.0.0.1:8888
python manage.py runserver 192.168.1.2:8001 # 192.168.1.2:8001
-
pycharm
-
找到项目select
-
点击edit
-
host和port---->ok
-
绿色右三角按钮
-
-
static配置注意:
-
-
今日概要
-
路由层
-
视图层
-
模板层
-
-
今日详细
-
路由的简单使用
urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.login),
url(r'^articles/2003/$', views.article_2003),
url(r'^articles/[0-9]{4}/$', views.article_year),
]-
无名分组(按位置传参)
url(r'^articles/([0-9]{4})/$', views.article_year), -
有名分组(按关键字传参)
-
简单使用
url(r'^articles/(?P<year>[0-9]{4})/$', views.article_year),注意事项:
-
视图函数的形参,必须要跟有名分组的名称,同名,(顺序没有关系)
-
URL有几个分组,就必须要接收几个参数。
-
-
-
路由分发
-
简单使用
-
项目最顶级的URL配置
from django.conf.urls import url # 运用django1版本的URL
from django.urls import path, re_path, include
urlpatterns = [
url(r'^app01/', include("app01.urls")),
url(r'^app02/', include("app02.urls"))
] -
每个APP应用里面新建urls.py文件
from django.conf.urls import url
from app01 import views
urlpatterns = [
url(r'^login/$', views.login)
]注意事项:
-
项目顶级URL,结尾不要加$;
-
include参数字符串路径,必须要写正确。
-
-
-
-
-
URL、path、re_path区别:
-
URL
-
自己定制匹配规则
-
path
-
自动带开头和结尾匹配规则
-
include,自动去掉后面的$,进行URL拼接
-
-
-
-
re_path
-
等同于django1版本的URL。
-
-
视图层
-
request对象
-
属性
-
request.GET # 获取以GET请求方式,提交数据一个类似字典(QueryDict)
request.GET.get("key") # 推荐写法
request.GET.getlist("key") # 返回一个多值的列表
request.GET["key"] # 不推荐,会报错
-
request.POST # 获取以POST请求方式,提交数据一个类似字典(QueryDict)
request.POST.get("key") # 推荐写法
request.POST.getlist("key") # 返回一个多值的列表
request.POST["key"] # 不推荐,会报错
-
request.body # 请求体相关内容,原生的字节
-
request.path # 获取URL路径,没有IP和端口
-
request.method # 获取请求方式,大写
-
-
方法:
-
get_full_path() # 获取URL的完整路径。
-
is_ajax() # 返回布尔值,判断当前请求是否是ajax。
-
-
-
今日作业