zoukankan      html  css  js  c++  java
  • Django框架篇

    Django框架

    1.HTTP超文本传输协议

    • 8中请求方法

      • GET , POST ,HEAD ,PUT ,DELETE , TRACE ,OPTIONS ,CONNCT

    • 状态码

      • 1xx ;服务器收到请求,进一步处理

      • 2xx :正常 200 ok

      • 3xx : 重定向

      • 4xx : 请求错误 403 404

      • 5xx : 服务器错误

    2.web框架

    • 本质:socket服务端

    • 功能:

      • socket收发消息 wsgi wsgiref uwsgi

      • 根据不同的路径返回不同的内容

      • 返回动态页面(字符串的替换,模板的渲染jinja2)

    3.Django的MTV模式

    • Model(模型): 负责业务对象与数据库的对象(ORM)

    • Template(模板) : 负责如何把页面展示给用户

    • View(视图):负责业务逻辑,并在适当的时候调用Model和Template

    • 此外Django还有一个urls分发器,它的作用是将一个个YRL的页面请求分发给不同的view处理,view再调用相应的Model和Template

    4.Django常见命令

    • 下载django

      • pip3 install django ==1.11.23 -i源地址

    • 创建Django项目

      • django-admin startproject 项目名

      • 代码创建的项目没有模板的存放文件夹,而pycharm中默认创建了.所以可以通过os.mkdir(os.path.join(BASE_DIR,'templates'))创建该路径,并在表单中的DIRS后的空列表添加拼接的路径

    • 启动Django项目

      • python manage.py runserver 0.0.0.0:80

    • 创建APP

      • 一个Django项目可以分为多个APP,用来隔离不同功能模块的代码

      • python manage.py startapp app01

    5.简单使用

    • 设计url ,有对应函数 ,完成函数

    6.静态文件的配置

     STATIC_URL = '/static/'  # 别名
     
     STATICFILES_DIRS = [
         os.path.join(BASE_DIR, 'static')
     ]
     
     
     STATICFILES_DIRS = [   #按照列表的顺序进行查找
         os.path.join(BASE_DIR, 'x1'),
         os.path.join(BASE_DIR, 'static'),
         os.path.join(BASE_DIR, 'x2')
     ]  

    7.登陆的实例

    • form表单

      • action 提交的地址 method post

      • input 需要有name

      • submit 提交的按钮或者input

      • 目前提交post请求,注释一个csrf 中间件

        •  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',
           ]
        • `前端模板 http://www.jq22.com

    8.app

    • 新建APP

      • python manage.py startapp app名称

    • 注册APP

      • 在settings中

      •  INSTALLED_APPS = [
         
            'app01',  
            'app01.apps.App01Config', # 推荐写法
         ]
    • 目录

      • admin.py django admin

      • apps.py app的信息

      • models.py 模型 model 跟数据库有关

      • views.py 写函数

    9.orm

    • 使用mysql数据库的流程

    • 创建一个mysql数据库;

    • 在settings中配置数据库:

       DATABASES = {
           'default': {
               'ENGINE': 'django.db.backends.mysql',   # 引擎
               'NAME': 'day53', # 数据库名称
               'HOST': '127.0.0.1', # IP
               'PORT': 3306, # 端口号
               'USER': 'root', # 用户名
               'PASSWORD': '123' # 密码
          }
       }
    • 使用pymysql模块连接mysql数据库。

      写在与settings同级目录下的init.py中

       import pymysql
       pymysql.install_as_MySQLdb()
    • 写对应关系,在app下的models.py中写类。

       class User(models.Model):
           username = models.CharField(max_length=32)  # username varchar(32)
           password = models.CharField(max_length=32)  # password varchar(32)
    • 执行数据库迁移的命令

      python manage.py makemigrations # 记录下models.py的变更记录

      python manage.py migrate # 变更记录同步到数据库

  • 相关阅读:
    hdu2063 匈牙利算法 二分最大匹配模版题
    经典dp 编辑距离
    新博客的第一道题 蓝桥杯 蚂蚁感冒
    cv.GaussianBlur参数选择 && contrast stretching
    大数据 week2 Hadoop and HDFS
    大数据 week2 Hadoop and HDFS
    抖音二面记录
    weight decay
    Pillow Image Filter
    UNSW CV第三课 下
  • 原文地址:https://www.cnblogs.com/W-Y-C/p/11391235.html
Copyright © 2011-2022 走看看