Django2.1.2創建默認管理后台


1、在app的models.py中添加以下代碼:

from django.db import models

# Create your models here.
# Register your models here.
class UserType(models.Model):
    name = models.CharField(max_length=32)

class UserInfo(models.Model):

    username = models.CharField(max_length=32)
    pwd = models.CharField(max_length=32)
    email = models.CharField(max_length=32)
    user_type = models.ForeignKey('UserType',on_delete=models.CASCADE,)

 注意一些書上寫的是user_type = models.ForeignKey(UserType),因為他們用的是Django2.0之前的版本,如果不加“on_delete=models.CASCADE”則以下錯誤:

原因:

在django2.0后,定義外鍵和一對一關系的時候需要加on_delete選項,此參數為了避免兩個表里的數據不一致問題,不然會報錯:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
參數說明:
on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五個可選擇的值
CASCADE:此值設置,是級聯刪除。
PROTECT:此值設置,是會報完整性錯誤。
SET_NULL:此值設置,會把外鍵設置為null,前提是允許為null。
SET_DEFAULT:此值設置,會把設置為外鍵的默認值。
SET():此值設置,會調用外面的值,可以是一個函數。
一般情況下使用CASCADE就可以了。

2、在app的admin.py中添加以下代碼:

from django.contrib import admin
from cmdb import models
admin.site.register(models.UserInfo)
admin.site.register(models.UserType)

 3、在主工程的setting.py文件中添加app:

4、在cmd中依次運行以下命令:

python manage.py makemigrations

  --更新代碼
python manage.py migrate

  --上述是創建表結構
python manage.py createsuperuser
  --上面這條命令是創建超級管理員的
python manage.py runserver


5、運行成功后訪問:http://127.0.0.1:8000/admin/  登錄后即可進入Django的默認管理后台。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM