我正在学习夹层。我只是按照快速启动步骤设置了Mezzanine 4.4.2项目myproject并更改了local_settings以使用postgresql数据库。在我尝试设置用户个人资料之前,一切都运行良好。我创建了一个名为myapp的应用程序,我按照此链接设置模型和设置:
[http://mezzanine.jupo.org/docs/user-accounts.html#profiles]
# In myapp/models.py
from django.db import models
class MyProfile(models.Model):
user = models.OneToOneField("auth.User")
date_of_birth = models.DateField()
bio = models.TextField()
# In settings.py
INSTALLED_APPS = (
"myapp",
"mezzanine.accounts",
# Many more
)
ACCOUNTS_PROFILE_MODEL = "myapp.MyProfile"
完成此操作后,我运行
manage.py makemigrations
manage.py migrate.
完成这两个步骤之后,我运行了manage.py runserver
。是的,生产和出生日期字段可在注册和更新配置文件表单中找到。但是,当我使用admin添加新用户时,我得到了:
/ admin / auth / user / add /
中的InterfaceError连接已关闭
请求方法:POST请求URL:
127.0.0.1:8000/admin/auth/user/add/ Django版本:
1.10.2异常类型:InterfaceError异常值:连接已关闭
例外地点:
/home/nighthawk/.virtualenvs/mez/local/lib/python2.7/site-packages/django/db/backends/postgresql/base.py 在create_cursor中,第211行Python可执行文件:
/home/nighthawk/.virtualenvs/mez/bin/python Python版本:
2.7.12 Python路径:[' /家庭/夜鹰/网络/ testproject&#39 ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/plat-i386-linux-gnu' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-tk' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-old' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-dynload' ;, ' /usr/lib/python2.7' ;,' /usr/lib/python2.7/plat-i386-linux-gnu', ' /usr/lib/python2.7/lib-tk' ;, ' /home/nighthawk/.virtualenvs/mez/local/lib/python2.7/site-packages' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/site-packages']
数据库实际上并未关闭。我创建了另一个项目,如果我没有添加用户配置文件模型,那么一切都很好。
当我尝试注册新用户时,出现以下错误。我输入的date_of_birth是1980-11-01。
/ accounts / signup /
中的IntegrityError 列中的空值" date_of_birth"违反非空约束 DETAIL:失败的行包含(9,null,,8)。
请求方法:POST请求URL:
列中的
http://127.0.0.1:8000/accounts/signup/?next=/ Django版本:
1.10.2异常类型:IntegrityError异常值:空值" date_of_birth"违反非空约束 DETAIL:失败的行包含(9,null,,8)。
例外地点:
/home/nighthawk/.virtualenvs/mez/local/lib/python2.7/site-packages/django/db/backends/utils.py 在执行中,第64行Python可执行文件:
/home/nighthawk/.virtualenvs/mez/bin/python Python版本:
2.7.12 Python路径:[' /家庭/夜鹰/网络/ testproject&#39 ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/plat-i386-linux-gnu' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-tk' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-old' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/lib-dynload' ;, ' /usr/lib/python2.7' ;,' /usr/lib/python2.7/plat-i386-linux-gnu', ' /usr/lib/python2.7/lib-tk' ;, ' /home/nighthawk/.virtualenvs/mez/local/lib/python2.7/site-packages' ;, ' /home/nighthawk/.virtualenvs/mez/lib/python2.7/site-packages']
有人可以帮帮我吗? 你知道有没有好的夹层教程?