Django2.1.2创建默认管理后台

Posted dev0ps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的默认管理后台。
技术分享图片

 

以上是关于Django2.1.2创建默认管理后台的主要内容,如果未能解决你的问题,请参考以下文章

OAuth2.0(基于django2.1.2实现版本)

如何在超过 10 次以上的片段中管理 BackPress?

后台管理打包上线自己创建的服务器

Dubbo官方的监控后台管理

从后台堆栈恢复片段时的 savedInstanceState

替换或删除后台堆栈上现有片段的代码不起作用