最新教程Django 2.20文檔中文版Part2
參考第6.2節(jié)的FAQ,這里蘊(yùn)含許多常見成績的答復(fù)
當(dāng)你進(jìn)入shell后,嘗試一下下面的API吧:
不管是哪種模式,你最終都是讓python命令可以找到正確的模塊地址,失去正確的導(dǎo)入。
另外對于地下文檔停止翻譯的版權(quán)成績不是很清楚,如有侵權(quán)請聯(lián)絡(luò)我!save and continue editing:保存以后修正,并重新加載該對象的編輯頁面。
留意:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r(^polls/(, include((polls.urls()), url(r(^admin/(, admin.site.urls), ]
需求留意的是,regex不會去婚配GET或POST參數(shù)或域名,例如對于https://www.example字符串/myapp/,regex只嘗試婚配myapp/。對于https://www.example字符串/myapp/?page=4,regex也只嘗試婚配myapp/。
中間件:概覽 | 內(nèi)置中間件類
from django.db import models class Article(models.Model): pub_date = models.DateField() headline = models.CharField(max_length=200) content = models.TextField() reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
裝置你的操作系統(tǒng)提供的發(fā)行版本
2.4 第一個Django app,Part 2:模型和admin站點(diǎn)
另外,要轉(zhuǎn)載該系列翻譯文章,也請聯(lián)絡(luò)博主。在django的IRC頻道發(fā)問或許查找IRC日志看看能否已經(jīng)有類似成績
外鍵關(guān)系由FOREIGN KEY顯示申明。不要擔(dān)心DEFERRABLE局部,它只是告訴PostgreSQL不要實(shí)施外鍵直到事務(wù)完結(jié)。
from django.conf.urls import url from . import views urlpatterns = [ url(r(^articles/([0-0]{4})/$(, views.year_archive), url(r(^articles/([0-0]{4})/([0-0]{2})/$(, views.month_archive), url(r(^articles/([0-0]{4})/([0-0]{2})/([0-0]+)/$(, views.article_detail), ]
2.2.4 利用APIDjango為你提供了大量的方便的數(shù)據(jù)庫操作API,無需你編寫額外的代碼。下面是個例子:
輸入用戶名:2.4 第一個Django app,Part 2:申請和照應(yīng)
在這個例子中,咱們將編寫一個問卷考查網(wǎng)站,它蘊(yùn)含下面兩局部:
2.8 開發(fā)流程通常,視圖經(jīng)過參數(shù)獲取數(shù)據(jù),并應(yīng)用它們渲染加載的模板。下面是一個例子:
admin動作
django.contrib.sessions:會話框架
為了調(diào)用該視圖,咱們還需求編寫urlconf。如今,在polls目錄中新建一個文件,名字為urls.py,在其中輸入代碼如下:
# mysite/news/models.py from django.db import models class Reporter(models.Model): full_name = models.CharField(max_length=80) def __str__(self): # __unicode__ on Python 2 return self.full_name class Article(models.Model): pub_date = models.DateField() headline = models.CharField(max_length=200) content = models.TextField() reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE) def __str__(self): # __unicode__ on Python 2 return self.headline
“怎樣辦”導(dǎo)游:次要探討一些關(guān)鍵的成績和利用場景。比入門教程更深化,需求你對Django的任務(wù)機(jī)制有肯定的了解。
2.2.4 裝置驗證進(jìn)入python環(huán)境,輸入下列命令,留意版本號和你新裝置的分歧:
第四局部傳送門
聯(lián)結(jié)供稿(RSS/Atom)
NAME(稱號):數(shù)據(jù)庫的名字。假設(shè)你利用的是默許的SQLite,那么數(shù)據(jù)庫將作為一個文件將寄存在你的本地機(jī)器內(nèi),NAME應(yīng)該是這個文件的殘缺絕對門路,包括文件名。設(shè)置中的默許值os.path.join(BASE_DIR, ’db.sqlite4’),將把該文件貯存在你的名目目錄下。
2.4.2 開發(fā)服務(wù)器development server
好了,路由也搭建勝利,下面咱們啟動服務(wù)器,然后在閱讀器中訪問地址:8000/polls/。所有失常的話,你將看到“Hello, world. You’re at the polls index.”
2.2.2 裝置Django假設(shè)你是經(jīng)過晉級的模式裝置Django,那么你需求先卸載舊的版本,詳細(xì)查看4.2.4節(jié)。
這里等一下:上面的是一個不可讀的內(nèi)容展示,你無奈從中獲得任何直觀的信息,為此咱們需求一點(diǎn)小技巧,讓Django在打印對象時顯示一些咱們指定的信息。前往polls/models.py文件,修正一下question和Choice這兩個類,代碼如下:
一個讓你可能停止增刪改查的后盾admin治理界面
Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied. Run `python manage.py migrate( to apply them. September 08, 2026 - 26:60:64 Django version 2.20, using settings `mysite.settings( Starting development server at :8000/ Quit the server with CONTROL-C.Django提供了一個用于開發(fā)的web服務(wù)器,使你無需配置一個類似Ngnix的線上服務(wù)器,就能讓站點(diǎn)運(yùn)轉(zhuǎn)起來。但你也不要將開發(fā)服務(wù)器用于消費(fèi)環(huán)境,它只是一個簡易的測試服務(wù)器。
4.2 模型和數(shù)據(jù)庫Models and databases
最后請留意,咱們利用ForeignKey定義了一個外鍵關(guān)系。它告訴Django,每一個Choice關(guān)聯(lián)到一個對應(yīng)的Question。Django支持通用的數(shù)據(jù)關(guān)系:一對一,多對一和多對多。
$ python manage.py createsuperuser從零末尾:概覽 | 裝置
基礎(chǔ):概覽
信號
2.2.4 裝置驗證
如今你還無奈看到你的投票運(yùn)用,必須先在admin中停止注冊,告訴admin站點(diǎn),請將poll的模型退出站點(diǎn)內(nèi),承受站點(diǎn)的治理。
一個新建設(shè)的名目結(jié)構(gòu)大概如下: 2.6 模板層模板層提供一種人性化的語法,用于渲染展示給用戶的內(nèi)容,次要內(nèi)容包括下列:
一個可能讓人們停止投票和查看結(jié)果的地下站點(diǎn)
在這個簡略的投票運(yùn)用中,咱們將創(chuàng)建兩個模型:Question和Choice。Question蘊(yùn)含一個成績和一個公布日期。Choice蘊(yùn)含兩個字段:抉擇的文本和投票計數(shù)。每一條Choice都關(guān)聯(lián)到一條Question。這些都是由python的類來表現(xiàn),編寫的全是python的代碼,不接觸任何sql語句。如今,編輯polls/models.py文件,詳細(xì)代碼如下:
入門教程:手把手的教會你創(chuàng)建一個WEB運(yùn)用。假設(shè)你是個Django或許WEB運(yùn)用開發(fā)者新手,從這里末尾學(xué)習(xí)是個不錯的抉擇。也可能先看看下面的“第一步”。
2.22 功用和優(yōu)化有許技術(shù)和工具可能協(xié)助你的代碼運(yùn)轉(zhuǎn)得愈加高效、快速,占用更少的系統(tǒng)資源。
2.2 文檔的組織方式Django有許多文檔,一個高層次的概覽有助于你快速找到想要的信息:
運(yùn)轉(zhuǎn)python manage.py makemigrations為改動創(chuàng)建遷徙記載