第四十二章:django基础

it2025-11-02  15

一、web请求流程      从一个面试题说起:    当我们在浏览器中输入一个url地址的时候, 按下回车的那一刹那, 描述一下具体的过程          DNS: 记录着 域名以及IP的对应关系          根DNS服务器     顶级DNS服务器     权威DNS服务器     二级域名的DNS服务器      ps:      字符串和字节的转换:     >>> s = "hello"     >>> s     'hello'     >>> bytes(s,encoding='utf-8')     b'hello'     >>> b = bytes(s,encoding='utf-8')     >>> str(b, encoding='utf-8')           url:    127.0.0.1:8080/index/      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        响应体:     自己看到的内容           ps:     http:  默认端口是80     Https: 默认的端口是443        状态码:(*****************************)          2XX: 200 (ok)          3XX: 302 304          4XX: 404(not found) 403(forbidden 禁止访问)          5XX: 500 (服务端代码错误) 502 (网关错误 bad gateway)                    Http图解           二、自定义一个简单的web框架     需求:    想要通过输入不同的 url, 获得不一样的相应内容            路由系统:     routes = [      ('/xxx', f1),      ('/ooo', f2),      ('/hhh', f3)     ]          def f1():      return b'this is xxxx'     def f2():      return b'this is oooo'                  #################### 总结 ########   自定义的web框架:    a. sokect 服务端    b. uri 和 函数的 对应关系            路由系统        c. 将html代码和mysql的数据进行融合 (自己定制规则 , 使用第三方的工具)         模板引擎渲染             web框架分类:    第一种维度分类:     - a,b,c  ----> tornado     - a(用第三方), b, c ----> django wsgiref  uwsgi     - a(第三方),b, c(第三方) -----》 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完成之后:       a. 配置末班文件路径:      'DIRS': [os.path.join(BASE_DIR, 'templates')]        b. 配置静态资源的文件路径:      STATIC_URL = '/static/'      STATICFILES_DIRS =  (       os.path.join(BASE_DIR, 'static'), (逗号不能少)      )        c. 注释中间件      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',      ]    

转载于:https://www.cnblogs.com/haojunliancheng/p/11160346.html

相关资源:数据结构—成绩单生成器
最新回复(0)