首页 > 其他 > 详细

Django

时间:2019-09-12 20:19:25      阅读:92      评论:0      收藏:0      [点我收藏+]

一、什么是web框架

  python三大主流web框架

    Django:大而全,自带了很多功能模块,缺点有点笨重

    Flask:短小精悍,自带功能模块少,大部分依赖于第三方模块

    Tornado:异步非阻塞,主要用在处理高io多路复用的情况

 

二、web请求流程图

 技术分享图片

wsgiref模块:替换web框架的socket server部分

jinja2:模板渲染 (下载:pip install jinja2)

    模板语法:jinja2支持前端直接使用类似于python的语法操作数据

    <p>{{ user_dic }}</p>
    <p>{{ user_dic.name }}</p>
    <p>{{ user_dic[password] }}</p>
    <p>{{ user_dic.get(name) }}</p>
    
    {% for user in user_dict %}  <!--[{},{},{},{}]--!>
        <tr>
            <td>{{ user.id }}</td>
            <td>{{ user.name }}</td>
            <td>{{ user.password }}</td>
        </tr>
    {% endfor %}

 

urls.py:路由与视图函数的映射关系

views.py:视图函数

templates:该文件夹存放就是所有的页面文件(.html)

 

三、Django

  1、下载安装

pip3 install django==1.11.11
django-admin  验证是否下载成功

  2.1命令行创建

    1.创建一个名为mysite的Django项目 

    2.app应用 

    3.启动django项目

    ps:命令行创建django默认不会自动创建templates文件,需要手动配置

1.django-admin startproject mysite
2.python3 mange.py startapp app01
3.python3 mamage.py runserver

  2.2pycharm创建

    FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
      创建app
        pycharm命令行创建:python3 manage.py startapp app01(全程app01.apps.App01Config ;支持简写)

  3、目录介绍:

mysite/
├── manage.py  # 管理文件
└── mysite  # 项目目录
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py  # 路由 --> URL和函数的对应关系
    └── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

  4、运行Django项目:

python manage.py runserver 127.0.0.1:8000

  模板文件配置:

TEMPLATES = [
    {
        BACKEND: django.template.backends.django.DjangoTemplates,
        DIRS: [os.path.join(BASE_DIR, "template")],  # template文件夹位置
        APP_DIRS: True,
        OPTIONS: {
            context_processors: [
                django.template.context_processors.debug,
                django.template.context_processors.request,
                django.contrib.auth.context_processors.auth,
                django.contrib.messages.context_processors.messages,
            ],
        },
    },
]

  静态文件配置:

STATIC_URL = /static/  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
]

  刚开始学习时可在配置文件中暂时禁用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,
]

 

四、Django基础必备三件套

from django.shortcuts import HttpResponse, render, redirect

  HttpResponse:内部传一个字符串参数,返回给浏览器

  render:除request参数外,还接受一个带渲染的模板文件和一个保存具体数据的字典参数

      将数据填充进模板文件,最后把结果返回给浏览器

  redirect:接收URL参数,表示跳转到指定的URL(3xx 重定向)

 

Django

原文:https://www.cnblogs.com/xiaowangba9494/p/11514611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!