django-报错收集

报错: TypeError: argument 1 must be str, not PosixPath

  详细:

    环境:python3.6  django3.1

    运行 python3 manage.py runserver 8000

    原因:

      django3.1之后 django的项目setttings中默认用的是pathlib 模块,取消了os.path 方法。

      但是似乎兼容性不是很好,具体原因还清楚,留意中。。。。。

  解决:

    将setttings中

import os


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': BASE_DIR / 'db.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

 

的pathlib 换成os.path,这是解决燃眉之急,让项目跑起来。

 

-----------------------------------------------------------

背景: 自定义用户模型类时报错 

ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
users.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
users.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.

System check identified 4 issues (0 silenced).

 

解决:

setttings中设置:

# 指定自定义的用户模型类: 值的语法 ==> '子应用.用户模型类'
AUTH_USER_MODEL = 'users.User'

 

 

 

  

posted @ 2020-09-10 12:14  扶我起来写代码  阅读(844)  评论(0)    收藏  举报