1. 程式人生 > 實用技巧 >Django學習筆記(2)簡單實現一個網站

Django學習筆記(2)簡單實現一個網站

預設使用了一個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/,即可檢視