亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Django框架是PythonWeb三大主流框架之一,以其功能強(qiáng)大全面而受到眾多開發(fā)者追捧,現(xiàn)如今Django已經(jīng)更新到3版本,但是并不推薦使用,更多建議使用1版本。

Django版本Python版本1.112.7、3.4、3.5、3.6、3.7(在1.11.17中添加)2.03.4、3.5、3.6、3.72.13.5、3.6、3.72.23.5、3.6、3.7、3.8(在2.2.8中添加)3.0、3.13.6、3.7、3.8

  

Django 入門介紹

 

2|0Django安裝

   使用pip install django==1.11.11安裝Django

   當(dāng)下載完成后,可以使用django-admin來查看是否安裝成功

C:Users云崖先生>django-admin
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]    check    compilemessages    createcachetable    dbshell    diffsettings    dumpdata    flush    inspectdb    loaddata    makemessages    makemigrations    migrate    runserver    sendtestemail    shell    showmigrations    sqlflush    sqlmigrate    sqlsequencereset    squashmigrations    startApp    startproject    test    testserverNote that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

3|0常用命令

   第一次接觸Django,這里有一些常用的CMD命令

基本命令解釋說明django-admin startproject 項目名稱創(chuàng)建一個Django項目python manage.py startapp 應(yīng)用名稱創(chuàng)建一個APPpython manage.py runserver ip地址 port號運(yùn)行Django項目,如不指定IP與PORT默認(rèn)為127.0.0.1與8000python manage.py makemigrations創(chuàng)建數(shù)據(jù)庫的py文件python manage.py migrate將生成的py文件應(yīng)用到數(shù)據(jù)庫python manage.py flush數(shù)據(jù)庫中數(shù)據(jù)全部清除,只留下表python manage.py createsuperuser創(chuàng)建管理員用戶,密碼(郵箱可以留空)python manage.py changepassword 用戶名修改管理員用戶密碼

4|0注意事項

   使用Django時,有以下4條建議

   1.計算機(jī)名稱不能包含中文

   2.IDE中一個窗口只開一個項目

   3.項目中所有文件夾均不要使用中文

   4.Python解釋器請按照與之相對的Django版本進(jìn)行選擇,我這里使用Python3.6.6

5|0目錄介紹

   接下來我們使用命令行創(chuàng)建出一個新的Django項目。

django-admin startproject Perfect 

   然后再新建一個APP,在Django中每一個 APP都相當(dāng)于一個功能的集合,如有處理學(xué)生相關(guān)的業(yè)務(wù)就創(chuàng)建一個名為student的APP,老師相關(guān)的業(yè)務(wù)就創(chuàng)建一個名為teacher的APP。

python manage.py startapp app01  # 注意在此之前要cd進(jìn)項目根目錄

   目錄如下:

-- PERFECT	項目文件夾
	-- app01	應(yīng)用文件夾
		-- migrations.py		數(shù)據(jù)庫遷徙文件
		-- admin.py 			django后臺管理
		-- apps.py				注冊相關(guān)
		-- models.py			數(shù)據(jù)庫相關(guān)(ORM類)
		-- tests.py				測試文件
		-- views.py				視圖相關(guān)函數(shù)
			-- Perfect	項目全局文件夾
		-- settings.py			全局配置文件
		-- urls.py				路由視圖關(guān)系
		-- wsgi.py				wsgiref模塊(Django基于該模塊)
			-- manage.py 入口文件
	-- sqlite3	 自帶微型數(shù)據(jù)庫(可有可無)

   這個時候我們應(yīng)該做一件事,在項目根目錄下新建一個templates文件夾,用于存放html文檔。

   (如果你是使用Pycharm進(jìn)行創(chuàng)建Django項目可忽略這一步)

6|0配置文件

   打開項目全局文件夾下的settings.py,認(rèn)識一下各個組件及其功能。

"""
Django settings for Perfect project.
Generated by 'django-admin startproject' using Django 1.11.11.
For more information on this file, see
https://docs.djangoproject.com/en/1.11/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.11/ref/settings/
"""
import os
# 像這樣在項目內(nèi)部構(gòu)建路徑:os.path.join(BASE_DIR,...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 快速啟動開發(fā)設(shè)置-不適合生產(chǎn)# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
# SESSION相關(guān)的密鑰,上線之后一定要保密SECRET_KEY = 'm00e=*1gwly+6$&_g=tk&rd)lu8p-v_)1k(y&@7p_xn663$ph#'
DEBUG = True # DEBUG信息,會給提示,上線后改為False即可ALLOWED_HOSTS = [] # 允許訪問的主機(jī),上線后改為 ["*"]
# 注冊的APP,新建一個APP后需要進(jìn)行手動配置INSTALLED_APPS = [    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]# 中間件,新手玩家請注釋掉  'django.middleware.csrf.CsrfViewMiddleware',
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',
]ROOT_URLCONF = 'Perfect.urls'
# HTML文件存放路徑配置TEMPLATES = [    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],        },    },]WSGI_APPLICATION = 'Perfect.wsgi.application'
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
# 項目指定用的數(shù)據(jù)庫,可以自行修改。默認(rèn)使用sqlite3DATABASES = {    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }}# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
# 認(rèn)證相關(guān)AUTH_PASSWORD_VALIDATORS = [    {        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },    {        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },    {        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },    {        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },]# Internationalization# https://docs.djangoproject.com/en/1.11/topics/i18n/
LANGUAGE_CODE = 'en-us' # 語言
TIME_ZONE = 'UTC' # 時區(qū)
USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True# Static files (css, JAVAScript, Images)# https://docs.djangoproject.com/en/1.11/howto/static-files/
# 靜態(tài)文件,尤其重要STATIC_URL = '/static/'

7|0手動配置

   好了,在創(chuàng)建完APP后需要在配置文件中進(jìn)行一些手動配置,分別是注冊APP,拼接HTML文檔路徑,這兩個是必須的。此外還可選擇性對csrf驗證中間件進(jìn)行注釋,以及配置數(shù)據(jù)庫鏈接,配置靜態(tài)文件等等。

   這些都放在后面會說,后面會單獨(dú)開一章settings的文章來具體寫各個部分的用途。

   注意:如果使用Pycharm進(jìn)行創(chuàng)建可忽略注冊APP與拼接HTML文檔路徑,這些Pycharm都會幫你自動做好,但是還是建議你看一眼。

7|1注冊APP

   注冊APP非常簡單,只需要在配置文件中找到下面的位置添加上上下面一條信息即可。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

   也可以進(jìn)行簡寫

'app01',

7|2HTML路徑

   拼接HTML文檔路徑也是在配置文件中添加。

   以下示例中templates是我對存放HTML文檔的文件夾取的名字,推薦使用這個名字。

TEMPLATES = [
    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,"templates")],  # 在這里添加上 os.path.join(BASE_DIR,"templates")
        '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',
            ],        },    },]

8|0啟動Django

   上面的基礎(chǔ)工作做完之后,可以嘗試啟動一下Django服務(wù)了,但是為了體現(xiàn)效果這里還是超出范疇的寫一點(diǎn)東西。

   返回一個簡單的登錄頁面吧,這里不涉及數(shù)據(jù)庫,靜態(tài)文件等操作,所以你要做的就只有3步

   1.配置路由,

   2.配置一個視圖函數(shù),

   3.寫一個頁面

8|1配置路由

   配置路由的作用在于對不同的請求路徑進(jìn)行處理,返回不同的頁面,這里面其實也有很多知識點(diǎn),先不涉及做個簡單的。

   在項目全局文件夾下,打開urls.py,導(dǎo)入一下app01的views.py,再插入一條代碼。

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [    url(r'^admin/', admin.site.urls),
    url(r"^login/",views.login),  # 新增代碼
]

8|2編寫函數(shù)

   現(xiàn)在就可以做一下app01下的views.py中的內(nèi)容了,由于路由里對于http://127.0.0.1:8000/login的請求處理函數(shù)是login,所以我們需要寫一個login函數(shù)來進(jìn)行處理。

from django.shortcuts import render
# Create your views here.
def login(request):
    return render(request,"login.html") # 必須返回request

8|3頁面編寫

   上面的請求處理函數(shù)返回了一個login.html,這里其實就是返回的templates中的HTML文檔,可惜我們現(xiàn)在還沒有l(wèi)ogin.html,所以新建一個即可。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            list-style: none;
        }
        
        body {
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        body main form{
            padding: 5px;
            border: #ddd solid 1px;
            background: #eee;
        }
        body main form p{
            margin: 10px;
        }
    </style>
</head>
<body>
    <main>
        <form action="#">
            <p><input type="text" name="username" placeholder="請輸入您的用戶名"></p>
            <p><input type="password" name="password" placeholder="請輸入您的密碼"></p>
            <p><button type="submit" disabled>提交</button></p>
        </form>
    </main>
</body>
</html>

8|4結(jié)果測試

   現(xiàn)在將開啟Django服務(wù)進(jìn)行測試操作

python manage.py runserver

   看下圖,已經(jīng)成功到訪問到了頁面,其實所有的Web框架流程無非就是解析請求資源,處理數(shù)據(jù),返回HTML文檔這三步驟。

Django 入門介紹

 

最后,小編想說:我是一名python開發(fā)工程師,整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,想要這些資料的可以關(guān)注私信小編“01”即可(免費(fèi)分享哦)希望能對你有所幫助。

分享到:
標(biāo)簽:Django
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定