0

我正在开发我的第一个 Django 项目并使用 django-registration 和 django-profiles。前者工作得很好,没有任何问题。第二个问题有点多。

几个小时后,终于可以查看特定的用户配置文件,这非常棒,还有所有配置文件的列表。

我遇到的两个问题:创建新用户时,django-profiles 不会自动创建新配置文件。在管理员中创建用户后,应创建个人资料。那没有发生。

此外,profiles/edit_profile 表单会导致此错误:

“/profiles/edit/ 处的TemplateSyntaxError 在渲染时捕获 NoReverseMatch:未找到带有参数 '(,)' 和关键字参数 '{}' 的 'edit_profile' 的反向。”

我一直在寻找这些问题的答案,但无济于事。

这是我的应用程序文件中配置文件的模型:

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。不确定这个问题。

4

1 回答 1

0

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

django-profiles 丢失的手册

向下滚动到没有丢失的配置文件!部分。在这里,他们解释说,每当创建用户实例时,必须使用信号来创建配置文件。

于 2012-02-12T08:37:40.263 回答