Django學習筆記(2)簡單實現一個網站
阿新 • • 發佈:2020-07-15
預設使用了一個user模組,建立的django專案名為dj_test
1.user檔案下,models.py中寫上建立Category資料庫表
#user.models content from django.db import models # Create your models here. #注:每建立一個table,系統預設第一個欄位id,自動新增,無需再次新增 class Category(models.Model):#類名就是表名 name = models.CharField(verbose_name='分類名',max_length=50,unique=True)#定義字元欄位name creat_time = models.DateTimeField(verbose_name='建立時間',auto_now_add=True)#datetime欄位create_time update_time = models.DateTimeField(verbose_name='修改時間',auto_now=True) is_delete= models.BooleanField(verbose_name="是否刪除",default=False) class Meta:#Meta用來自定義表內容 db_table = 'category'#自定義table名稱 ordering=['-creat_time']#定義排序按照xxx欄位排序,預設升序,加減號表示降序 verbose_name = '文章分類'#定義模型中的名稱,用於後臺管理操作方便 verbose_name_plural = verbose_name#定義複數名詞,不然系統會自動在verbose_name後面加s,如'文章分類s' def __str__(self):#預設返回系統物件名,需要重新命名來識別 return self.name
2.執行python manage.py makemigrations #生成遷移檔案,建立表結構
3.執行python manage.py migrate #同步到資料庫,生成資料庫表
執行2和3操作後,user下方同級目錄會生成一個db.sqlite3的檔案,右擊copy path(絕對路徑),複製到navicat或者pycharm自帶資料庫連線工具上,檢查資料庫結構
4.啟用admin管理工具,在管理平臺新增資料
在user-admin.py中,將Category表註冊到admin後臺,user admin.py添加註冊程式碼
# user admin.py content from django.contrib import admin # Register your models here. #啟用測試管理工具,需要先將category表註冊到管理工具上 from . import models admin.site.register(models.Category)
在瀏覽器輸入http://127.0.0.1:8000/admin/ 進入管理工具頁面。此時沒有賬戶和密碼,需要在命令列執行python manage.py createsuperuser 來建立超級使用者,設定賬戶和密碼
進入管理平臺後,可以手動頁面上新增和修改資料,無需直接去操作資料庫,
注意:每次新增/修改/刪除等操作,都需要執行python manage.py makemigrations 和python manage.py migrate語句
5.在user view.py中定義index方法
1 import datetime 2 3 from django.shortcuts import render 4 5 from .models import Category 6 # Create your views here. 7 def index(request): 8 catagories = Category.objects.all()#獲取所有資料 9 print(catagories) 10 time = datetime.datetime.now() 11 data = {'nav':catagories,'time':time} 12 return render(request,'index.html',data)#引用資料需要通過字典data引用
6.在user上方統計目錄templates中建立index.html檔案
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Django</title> 6 </head> 7 <body> 8 <h1>歡迎光臨!今天的日期是{{ time }}</h1> 9 <ul> 10 {% for n in nav %} 11 <li>{{ n }}</li> 12 {% endfor %} 13 </ul> 14 </body> 15 </html>
7.dj_test目錄下的urls.py,需要新增步驟5view.py定義的index方法
1 from django.contrib import admin 2 from django.urls import path 3 from user.views import index 4 5 urlpatterns = [ 6 path('admin/', admin.site.urls), 7 path('index/', index),#第二個引數index 指的是view.py中定義的index方法 8 ]
8.在瀏覽器中輸入http://127.0.0.1:8000/index/,即可檢視