Я создаю систему комментариев, и я хотел бы иметь различную визуализацию формы для зарегистрированных пользователей и анонимного пользователя. Вот идея:
Для анонимных пользователей:Django показать поля формы необязательно
Name:| |
E-mail:| |
Text:
________________
| |
| |
|________________|
Для зарегистрированных пользователей
Text:
________________
| |
| |
|________________|
Вот мой код:
models.py
class Comment(models.Model):
"""
Class for comments
"""
post = models.ForeignKey(Post, related_name='comments')
title = models.CharField(max_length=40)
author = models.ForeignKey(User, blank=True, null=True)
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
class Meta:
ordering = ('created',)
forms.py
class CommentForm(forms.ModelForm):
"""
Form for adding comments
"""
class Meta:
model = Comment
fields = ('title', 'email', 'body')
Какой самый лучший подход здесь?
Я, хотя и делаю e-mail и имена как blank = True, так и null = True и заполняет их в пользовательском методе сохранения. Добавить в поле зрения if user.is_authenticated
и показать поля соответственно, но я не знаю, все ли в порядке. Не могли бы вы порекомендовать мне лучшие практики?