我正在开展我的第一个Django项目并使用django-registration和django-profiles。前者工作得非常好,没有问题。第二个问题更多。
经过几个小时后,最终可以查看特定的用户个人资料,这非常棒,还有所有个人资料的列表。
我遇到的两个问题:django-profiles在创建新用户时不会自动创建新的配置文件。在管理员中创建用户后,应创建配置文件。那不会发生。
此外,profiles / edit_profile表单会导致此错误:
" / profile / edit /上的TemplateSyntaxError在渲染时捕获NoReverseMatch:反向' edit_profile'参数'(,)'和关键字参数' {}'没找到。"
我已经搜索过这些问题的答案但无济于事。
这是我的app文件中个人资料的模型:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
first_name = models.CharField(max_length=25)
last_name = models.CharField(max_length=35)
email = models.EmailField()
birth_date = models.DateField(blank=True, null=True)
city = models.CharField(max_length=25)
state = models.CharField(max_length=20)
zip_code = models.CharField(max_length=10)
def __unicode__(self):
return " %s" % (self.user)
def get_absolute_url(self):
return ('profiles_profile_detail', (), { 'username': self.user.username })
get_absolute_url = models.permalink(get_absolute_url)
这是我的表格:
class ProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
这是模板:
{% extends 'base.html' %}
{% block page_title %}Edit Profile{% endblock %}
{% block headline %}Edit Stentorian Profile{% endblock %}
{% block content %}
<form action="{% url edit_profile user %}" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
有兴趣了解我所犯的错误以及如何解决这些错误。 (我意识到用户对象带有名字和姓氏,但除了使用自己的特定字段外,没有其他方法可以将这些内容插入到配置文件中。)
有任何见解。
编辑:感谢“失踪手册”似乎已经成功了。不幸的是,/ profiles / edit现在退回到/ profiles / create。不确定这个问题。
答案 0 :(得分:0)
这是一个可以帮助您解决此问题的链接。
django-profiles the missing manual
向下滚动到 NO MISSING PROFILES!部分。在这里,他们解释说,无论何时创建用户实例,都必须使用信号来创建配置文件。