Я работаю над своим первым проектом Django и использую django-registration и django-profile.Бывший работал прекрасно с ни одной проблемой.Второй был немного более проблематичным.
Через много часов, наконец, можно просмотреть конкретные профили пользователей, что является потрясающим, наряду со списком всех профилей.
Две проблемы, которые я 'm Встреча: django-профили не будут автоматически создавать новый профиль при создании нового пользователя.Как только пользователь создан в администраторе, должен быть создан профиль.Этого не происходит.
Кроме того, форма profile / edit_profile приводит к этой ошибке:
"TemplateSyntaxError at / Profiles / edit / Caught 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 %}
Интересно узнать, какие ошибки я допустил и как их исправить.(Я понимаю, что пользовательский объект имеет имя и фамилию, но нет другого способа вставить их в профиль, кроме как с их собственными конкретными полями).
Любое понимание приветствуется.
Редактировать: Кажется, все получилось благодаря The Missing Manual.К сожалению, / profile / edit теперь отскакивает от / profile / create.Не уверен в этом вопросе.