Django基礎

前戲

WEB框架簡介

具體介紹Django以前,必須先介紹WEB框架等概念。html

web框架: 別人已經設定好的一個web網站模板,你學習它的規則,而後「填空」或「修改」成你本身須要的樣子。python

通常web框架的架構是這樣的:web

 

Django簡介

Django是一個開放源代碼的Web應用框架, 由Python寫成.數據庫

採用了MVC的軟件設計模式, 即模型M, 視圖V和控制器C.django

這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的.設計模式

Django的主要目標是使得開發複雜的, 數據庫驅動的網站變得簡單.瀏覽器

Django注重組件的重用性和「可插拔性」, 敏捷開發和DRY法則(Don't Repeat Yourself).session

在Django中Python被廣泛使用, 甚至包括配置文件和數據模型.架構

Django安裝

命令行安裝

pip3 install django==1.11.9

pycharm安裝

  

  

建立Django項目

命令建立

django-admin startproject mysite

pycharm建立

  

目錄介紹

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

pycharm運行

 

Django配置

模板(html)文件配置

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
from django.shortcuts import render
from django.shortcuts import redirect

HttpResponse

內部傳入一個字符串參數,返回給瀏覽器(相似於socket中的send)

def index(request):
    # 業務邏輯代碼
    return HttpResponse("OK")

render

除了request參數外,還能夠傳遞傳遞一個帶渲染模板文件和一個保存數據的字典參數

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

redirect

傳遞一個URL參數,做用是直接跳轉到指定URL

def index(request):
    # 業務邏輯代碼
    return redirect("/home/")
相關文章
相關標籤/搜索