Django_Profiles不会自动创建配置文件,其他错误

时间:2012-02-12 00:44:06

标签: python django django-registration django-profiles

我正在开展我的第一个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。不确定这个问题。

1 个答案:

答案 0 :(得分:0)

这是一个可以帮助您解决此问题的链接。

django-profiles the missing manual

向下滚动到 NO MISSING PROFILES!部分。在这里,他们解释说,无论何时创建用户实例,都必须使用信号来创建配置文件。