一、使用pymysql時,必須加這兩行(#如果使用mysql的數據庫,請進行偽裝 pymysql偽裝為MySQLdb)
import pymysql
pymysql.install_as_MySQLdb() #如果使用mysql的數據庫,請進行偽裝 pymysql偽裝為MySQLdb
二、編輯數據庫內容 (路徑:/學習/接口自動化/mjz/user/models.py)
from django.db import models
# Create your models here.
class Category(models.Model):
name=models.CharField(verbose_name="分類名",max_length=50,unique=True)
create_time=models.DateTimeField(verbose_name="創建時間",auto_now_add=True)
update_time=models.DateTimeField(verbose_name="更新時間",auto_now=True)
is_delete=models.BooleanField(verbose_name="刪除",default=False)
class Meta:
db_table = 'category' #
ordering = ['create_time']
verbose_name="文章分類"
verbose_name_plural=verbose_name
def __str__(self):
return self.name
class Article(models.Model):
title = models.CharField(verbose_name='文章標題',max_length=100,db_index=True)
desc = models.CharField(verbose_name='描述',max_length=100,blank=True,null=True,default='這個文章沒有描述')
content = models.TextField(verbose_name='文章內容')
img = models.ImageField(verbose_name='文章圖片',upload_to='article_img',default='images/1.jpg') #需要pip install pillow
recommend = models.BooleanField(verbose_name='是否推薦',default=False)
category = models.ForeignKey(Category,verbose_name='分類',on_delete=models.DO_NOTHING,
db_constraint=False)
create_time = models.DateTimeField(verbose_name='創建時間', auto_now_add=True)
update_time = models.DateTimeField(verbose_name='修改時間', auto_now=True)
is_delete = models.BooleanField(verbose_name='是否刪除', default=False)
#models.CASCADE#guanl cascade
# db_constraint 不會真正在數據庫里面建立外鍵
class Meta: #首頁 5
db_table = 'article' #
ordering = ['create_time']
verbose_name = '文章'
verbose_name_plural = verbose_name
def __str__(self):
return self.title
三.執行數據庫,創建表
python manage.py makemigrations
python manage.py migrate
四、后台管理
1、(創建后端管理員)
python manage.py createsuperuser 創建用戶名字 密碼和郵箱
2、在admin導入數據表:(/學習/接口自動化/mjz/user/admin.py)
from django.contrib import admin
# Register your models here.
from . import models
admin.site.register(models.Category)
admin.site.register(models.Article)
3、url配置(/學習/接口自動化/mjz/mjz/urls.py)
from django.contrib import admin
from django.urls import path
from user.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', index),
]