Django 基礎

1、什麼是web框架html

  python三大主流web框架前端

    Django:大而全,自帶了不少功能模塊,缺點有點笨重python

    Flask:短小精悍,自帶功能模塊少,大部分依賴於第三方模塊web

    Tornado:異步非阻塞,主要用在處理高io多路複用的狀況django

 

2、web請求流程圖瀏覽器

 

wsgiref模塊:替換web框架的socket server部分session

jinja2:模板渲染 (下載:pip install jinja2)app

    模板語法: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)

 

3、Django

  一、下載安裝

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 ;支持簡寫)

  三、目錄介紹:

mysite/
├── manage.py  # 管理文件
└── mysite  # 項目目錄
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py  # 路由 --> URL和函數的對應關係
    └── wsgi.py  # runserver命令就使用wsgiref模塊作簡單的web server

  四、運行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',
]

 

4、Django基礎必備三件套

from django.shortcuts import HttpResponse, render, redirect

  HttpResponse:內部傳一個字符串參數,返回給瀏覽器

  render:除request參數外,還接受一個帶渲染的模板文件和一個保存具體數據的字典參數

      將數據填充進模板文件,最後把結果返回給瀏覽器

  redirect:接收URL參數,表示跳轉到指定的URL(3xx 重定向)

相關文章
相關標籤/搜索