1.2建立應用程式
新建一個powershell命令視窗,切換到manage。py所在目錄,啟用該虛擬環境(看1。1。4如何啟用)。
> python manage。py startapp learning_logs (現在多出了了learning_logs資料夾)
希望大家認真學習,做好筆記,找出規律,理解什麼是MVC模型!!!
1.2.1 定義模型
修改models。py中的內容,新增以下內容(程式碼建議手打一遍,複製貼上容易出現格式錯誤!)
嘗試自己理解程式碼的意思,探索中熟悉Django框架。
class Topic(models。Model): “”“使用者學習主題”“” text = models。CharField(max_length=200) date_added = models。DateTimeField(auto_now_add=True) def __str__(self):“”“”返回模型的字串表示“”“ return self。text
1.2.2 啟用模型
修改settings。py中的內容,新增以下內容,
也就是把你的web應用程式的名字告訴Django
(加粗部分):
INSTALLED_APPS = [ ‘django。contrib。admin’, ‘django。contrib。auth’, ‘django。contrib。contenttypes’, ‘django。contrib。sessions’, ‘django。contrib。messages’, ‘django。contrib。staticfiles’, #我的應用程式 ‘learning_logs’,]
讓Django修改資料庫,使其能夠儲存與模型Topic相關的資訊。
> python manage。py makemigrations learning_logs
執行上述程式碼,出現以下資訊
↓*****************************************************************************
Migrations for ‘learning_logs’:
learning_logs\migrations\0001_initial。py
- Create model Topic
↑*****************************************************************************
> python manage。py migrate (利用Django修改資料庫)
↓*****************************************************************************
Operations to perform:
Apply all migrations: admin, auth, contenttypes, learning_logs, sessions
Running migrations:
Applying learning_logs。0001_initial。。。 OK
↑*****************************************************************************
1.2.3 Django 管理網站
1、建立超級使用者
> python manage。py createsuperuser (按如下步驟進行填寫即可)
執行上述命令後出現如下資訊,自己填寫即可。
↓*****************************************************************************
Username: 11_admin
Email address: 569261093@qq。com
Password:(輸入密碼是看不出變化的)
Password (again):
This password is too short。 It must contain at least 8 characters。
This password is too common。
This password is entirely numeric。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully。
↑*****************************************************************************
2、向管理網站註冊模型
在learning_logs目錄下找到admin。py檔案,新增如下內容
from learning_logs。models import Topic
admin。site。register(Topic)
在網站中輸入http://localhost:8000/admin/ 可以看到如下畫面
初次建立頁面影象
輸入賬戶密碼即可進入一下頁面:
輸出賬號密碼後出現此頁面
3、新增主題
開啟網頁新增主題即可,自己新增主題,看看會不會出現錯誤。
1.2.4 定義模型Entry
在models。py中新增以下程式碼:class Entry(models。Model):”“”學到的有關某個主題的具體知識“”“ topic = models。ForeignKey(Topic,on_delete=models。CASCADE) text = models。TextField() date_added = models。DateTimeField(auto_now_add=True) class Meta: verbose_name_plural = ‘entries’ def __str__(self): ”“”返回模型的字串表示“”“ return self。text[:50] + ”。。。“
1.2.5 遷移模型Entry
> python manage。py makemigrations learning_logs
> python manage。py migrate (出現如下資訊,表明遷移順利)
↓*****************************************************************************
Operations to perform:
Apply all migrations: admin, auth, contenttypes, learning_logs, sessions
Running migrations:
Applying learning_logs。0002_entry。。。 OK
↑*****************************************************************************
1.2.6 向管理網站註冊Entry
新增admin.py內容如下:
from learning_logs。models import Topic,Entryadmin。site。register(Entry)
返回到http://localhost:8000/admin/,將看到learning_logs下列出了Entries。如果沒有看到,重新啟動專案(檢視1。1。8),再進入網站。
1.2.7 Django shell
shell會話示例:
> python manage。py shell (啟動一個python直譯器)>>> from learning_logs。models import Topic
(匯入learning_logs。models中的模型Topic)
>>> Topic。objects。all() (使用此方法獲取Topic的所有例項)
*****以下內容演示如何檢視分配給每個主題物件的ID:
>>> topics = Topic。objects。all()>>> for topic in topics:。。。 print(topic。id,topic) (執行程式碼此處容易出錯,print()函式一定要先tab再寫print()函式)。。。1 第一個學習筆記 (第一個學習筆記是我自己新增的主題,您可以看見你自己新增的主題)
******以下內容演示如何獲取物件並檢視其任何屬性:
>>> t = Topic。objects。get(id=1)>>> t。text‘第一個學習筆記’>>> t。date_addeddatetime。datetime(2020, 5, 18, 6, 32, 35, 123974, tzinfo=
1.3 建立網頁:學習筆記主頁
使用Django建立網頁的三個階段:1、定義URL;2、編寫檢視;3、編寫模板。
1.3.1 對映URL(容易出錯!!!執行出錯聯絡劉凱569261093)
*****learning_log中urls。py新增以下內容:
from django。contrib import adminfrom django。urls import pathfrom django。conf。urls import include,url
錯誤示範:(錯誤原因,Django更新2。0後用了更方便的path()函式) 大家可以嘗試執行錯誤程式碼,看看提示什麼錯誤。urlpatterns = [ #path(‘admin/’, admin。site。urls), url(r‘^admin/’,include(admin。site。urls)), url(r‘’,include(‘learning_logs。urls’,namespace=‘learning_logs’)),]正確程式碼:urlpatterns = [ path(‘admin/’, admin。site。urls), path(‘users/’,include(‘users。urls’,namespace=‘users’)), path(‘’,include(‘learning_logs。urls’,namespace=‘learning_logs’)), ]
*****learning_logs中urls。py新增以下內容:
”“”定義learning_logs的URL模式“”“
from django。conf。urls import urlfrom 。 import viewsurlpatterns = [#主頁url(r‘^$’,views。index,name=‘index’),]
1.3.2 編寫檢視
*****learning_logs資料夾中views。py檔案新增以下內容:
from django。shortcuts import render
# Create your views here。def index(request): ”“”學習筆記主頁“”“ return render(request,‘learning_logs/index。html’)
1.3.3 編寫模板
*****learning_logs資料夾中新建資料夾templates,在此資料夾中再新建一個檔案集learning_logs,在此資料夾中建立檔案index。html,新增以下程式碼:
建立網頁
如果看到此頁面,說明您已成功建立網頁。
注:重新執行服務(1.1.8),如果提示錯誤將錯誤內容發在評論區。
至此,大家都會初步建立網頁了,希望大家能夠總結用Django建立網頁的大致過程及其構建網頁的基本框架。