Django
1.web的请求流程:
1.先到本地DNS域名服务器去寻找IP地址;
2.到根服务器寻找
3.到顶级服务器去寻找
4.到权威服务器寻找
5.二级域名服务器
2.
字符串和字节的转换:
>>> s = "hello"
>>> s
'hello'
>>> bytes(s,encoding='utf-8')
b'hello'
>>> b = bytes(s,encoding='utf-8')
>>> str(b, encoding='utf-8')
3.http协议:
请求头:
GET / HTTP/1.1
Host: 127.0.0.1:8080 (主机名)
Connection: keep-alive (保持链接)
Cache-Control: max-age=0 (缓存不失效)
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0. 8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Token: bdsjalbdjsalbdjsa
请求体:
bdsabdjsabjddas
响应头:
HTTP/1.1 200 OK
响应体:
自己看到的内容
http: 默认端口是80
https: 默认的端点是4443
状态码:
2xx : 200 (ok)
3xx : 302 304
4xx : 404 (not found) 403( forvidden 禁止访问 )
5xx : 500 (服务端代码错误) 502(网关错误 bad geteway)
二:
定义一个WEB框架
1. 通过从http协议中可以得到相应的需求
2. 通过得到的需求建立一个路由系统,来对应相应的功能
3.建立一个socket 通信进行网络访问
4.将html 和MySQL的数据进行融合啊啊
WEB框架的分类:
第一种维度分类:
1,2,3 都用自己的框架 tornado
1(用第三方的), 2 , 3 djanggo wsgiref uwsgi
1(第三方),2, 3(第三方) flask
第二种维度:
django
其他
三、Django
安装:
pip3 install django==1.11.10 -i
https://pypi.tuna.tsinghua.edu.cn/simple
创建:
第一种:
django-admin startproject mysite
启动:python3 manage.py runserver 127.0.0.1:8090
第二种:
pycharm创建
目录介绍:
mysite:
mysite:
settings.py : 用户自定义的各种配置
urls.py :路由文件
wsgi.py :启动socket的文件
mange.py : 管理文件 python mange.py 各种命令
js , css , img : 静态 文件
创建django完成后:
1.配置文件路径:
"DIRS" :[os.path.join(BASE_DIR, "templates")]
2.配置静态资源的文件:
STATIC_URL = 'static'
STATICFILES_DIRS=(os.path.join(BASE_DIR, 'static'),) (逗号不能少)
3.注释中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
uri 和 函数的对应关系:(路由系统)
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^index/', index),
]
功能
def index(request):
return render(request ,"index.html")