• Django基础



    Django

    今日内容:

    1. web应用的本质

    回顾:

    socket网络编程:

    架构: C/S架构

    协议:TCP/UDP协议

    工作地点:传输层

    B/S架构:

    协议:HTTP协议

    工作地点:应用层

    PS:

    字节转换为字符串:bytes('XXX',encoding = 'utf8')

    字符串转换为字节:str('XXX',encoding = 'utf8')

     

    2. 自定义一个web框架

    目标:

    将自定制的server变成一个动态的server

    请求头的时候2个换行(/r/n/r/n)代表结束

    HTTP协议:

    请求头

    请求体

    响应头

    响应体

    改造之后一个动态的server

    路由系统:

    def f1():

    return

    def f2():

    return

    def f3():

    return

    ......

    routes = [

    ('xxx',f1),

    ('ooo',f2),

    ......

    ]

    路由系统:将客户端请求的url映射到相应的函数,然后执行函数

    渲染系统:将我们需要的数据渲染到写好的html页面中

    自己写web框架:

    a. 自己写socket服务端

    b. 路由系统:

    url--->函数

    c. 模板引擎渲染:

    自己定义的规则

    使用第三方的工具(jinja2)

    web框架的分类

    第一维度的分类:

    1. a,b,c ----> tornado

    2. a(引入第三方),b,c -----> Django(wsgiref/uwsgi)

    3. a(引入第三方),b, c(引入第三方)----->flask

    第二维度的分类:

    1. Django

    -orm

    -session

    -form表单验证

    .......

    2. 其他

    3. Django的安装和启动

    Django的安装:

    1. pip3 install django == 1.11.22

    2. pycharm

    Django的创建:

    a. Django-admin startproject XXX

    b. pycharm

    Django的启动

    a. django-admin startproject mysite

    settings.py.py:配置文件

    url.py:路由映射文件

    wsgi.py:socket服务端文件

    manage管理文件

     

    4. Django的路由介绍

    添加函数和路由的关系

     

        urlpatter = [
      # url(r'^admin/',admin.site.urls)
          url(r'^index/',index)
      ]

    def index(request):
    return HttpResponse('index')

    5. Django的模板介绍

    列表的渲染

    <li>{{li.0}}<l1> 类似于列表取值[]0

    ......{{li.1}}......

    字典的渲染

    ......{{dict.age}}......

      {%for items in dict.values %}
    • {{items}}
    • {% endfor %}

    以后再去创建Django项目的时候,我们需要的几个操作:

    到settings.py中配置:

    STATIC_URL = '/static/'

    STATICFILES_DIRS = (

    os.path.join(BASE_DTR,'static'),

    )

    逗号不能少

    static目录需要创建

    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',
      ]

    'DIRS':[os.path.join(BASE_DIR,'templates')]




    Django的连接数据库操作:

    pymysql连接和Django的orm连接

  • 相关阅读:
    Mock工具Mockito教程
    基于Jmeter的自动化测试实施方案
    基于敏捷的测试交付物通用设计
    Jmeter 冒烟测试设计
    Jmockit之mock特性详解
    Sonar 常用代码规则(二)
    从Hg迁移到Git
    使用谷歌colab训练crnn模型
    使用AIstudio训练YOLOv3模型
    阿里云服务器部署Djano+Nginx+uWSGI+conda+Https
  • 原文地址:https://www.cnblogs.com/zrx19960128/p/11315921.html
Copyright © 2020-2023  润新知