【发布时间】:2014-04-22 14:03:32
【问题描述】:
好的,所以我已经构建了一个基本的 Django 项目并成功安装了 django-registration 应用程序 - http://www.michelepasin.org/blog/2011/01/14/setting-up-django-registration/
我想扩展User 以包含生日、头像等信息。我创建了一个名为user_profile 的应用程序。这是注册应用程序中的signals.py:
from django.dispatch import Signal
user_activated = Signal(providing_args=["user", "request"])
在我的新应用程序user_profile 中,侦听此信号的方法是什么?我想我应该创建一个signals.py 文件,但是我应该在里面写什么? from registration.signals import user_activated 声明还有什么?我创建的这个新应用还有一个 model.py,我想在激活新帐户时自动填充一些数据。
还有一个次要问题:当我将 URL 与基于类的视图链接时,会触发该类的哪个方法?如果我在基于类的视图中有 4 个方法,django 如何决定使用哪一个?谢谢
【问题讨论】:
-
你到底想用这个信号做什么?将新用户添加到数据库时创建一个 UserProfile 对象?
-
是的。 UserProfile 有一些字段,例如头像、性别、生日(这些字段不是必需的,也不会在初始化时完成),但是像 creation_time 和 update_time 这样的字段需要初始化。
标签: django django-registration django-signals