• Django 基础


    一、什么是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 重定向)

  • 相关阅读:
    leetcode笔记-1 twosum
    pythoon_interview_redit
    Python 二维列表
    py xrange
    python 垃圾回收机制
    python 链表
    Python 面试总结
    linux 目录
    Linux 文件名颜色
    实践是检验真理的唯一标准
  • 原文地址:https://www.cnblogs.com/xiaowangba9494/p/11514611.html
Copyright © 2020-2023  润新知