记Django3.0的一次错误

    周末在家把自己老电脑系统重做后,重新配置了python+pycharm的环境,本来一切正常但在写一个django的小Demo时问题出现了,先来看下代码:

首先是model.py文件的内容:

from django.db import models

# Create your models here.

class Student(models.Model):
    SEX_ITEMS = [
        (1, '男'),
        (2, '女'),
        (0, '未知'),
    ]
    STATUS_ITEMS = [
        (0, '申请'),
        (1, '通过'),
        (2, '拒绝'),
    ]
    name = models.CharField(max_length=128, verbose_name='姓名')
    sex = models.IntegerField(choices=SEX_ITEMS, verbose_name='性别')
    profession = models.CharField(max_length=128, verbose_name='职业')
    email = models.EmailField(verbose_name='Email')
    qq = models.CharField(max_length=128, verbose_name='QQ')
    phone = models.CharField(max_length=128, verbose_name='电话')
    status = models.IntegerField(choices=STATUS_ITEMS, default=0, verbose_name='审核状态')
    create_time = models.DateTimeField(auto_now_add=True, editable=False, verbose_name='创建时间')

    def __str__(self):
        return ''.format(self.name)

    class Meta:
        verbose_name = verbose_name_plural = '学员信息'

之后是admin.py文件:

from django.contrib import admin
from student.models import Student

# Register your models here.

class StudentAdmin(admin.ModelAdmin):
    list_display = (
        'id','name','sex','profession','email','qq','phone','status','create_time'
    )
    list_filter = (
        'sex','status','create_time'
    )
    search_fields = ('name','profession')
    fieldsets = (
        (
            None, {
                'fields': (
                    'name',
                    ('sex','profession'),
                    ('email','qq','phone'),
                    'status',
                )
            }
        ),
    )

admin.site.register(Student, StudentAdmin)

两个文件的代码都很简单,就是使用Django自带的admin功能,实现了一个学员的录入及管理功能。在运行这个demo时,可以进入登陆页面,但只要一输入用户名和密码点击登录,django就会结束运行,除了一句:Process finished with exit code -1  外没有任何报错信息,这是怎么回事呢?查了很久都没找到原因,后来突然想到,是不是因为Django的版本问题呢?这么想的原因有两个,首先是之前也做过类似的Demo,一切正常的;其次是因为系统是新装的,之前用的Django版本都是2.x,而这次默认是用的最新版Django3.0(pycharm自动创建Django项目时自动安装),想到这里就试着把Django3.0版本删除后重新指定版本2.0进行安装,安装后运行Demo,一切正常了。

你可能感兴趣的:(学习记录)