2016-12-13 4 views
0

У меня есть следующая модель в моем проекте Django:Доведение информации из django.contrib.auth.models.User в View

from django.contrib.auth.models import User 

class Project(models.Model): 
    project_title = models.CharField(max_length=200) 
    project_description = models.CharField(max_length=200, default="") 
    created_date = models.DateTimeField('date created') 
    owner = models.ForeignKey(User) 

    def __str__(self): 
     return self.project_title 

Этот вид использует модель проекта следующим образом:

class ProjectView(generic.edit.UpdateView): 
    model = Project 
    fields = ['project_title','project_description'] 
    template_name = 'steps/project.html' 
    success_url = reverse_lazy('steps:index') 

Мой вопрос в том, как я могу поместить поля пользователя в свой ProjectView, чтобы затем использовать их в шаблонах? В частности, я хотел бы отобразить имя пользователя и адрес входе в систему.

+1

пользовательской информации размещены по запросу, а не мнения. Поэтому вы можете написать в шаблоне '{{user.username}}' или '{{user.email}}'. и вы получите его –

ответ

1

информация пользователя размещена по запросу, а не по просмотрам. Поэтому вы можете написать в шаблоне {{user.username}}, или {{user.email}}. и вы получите его. Конечно, если user.is_authenticated

+0

Спасибо, это сработало! Кстати, есть ли привычка хорошего тона проверить, что пользователь аутентифицирован в этом случае? – MadPhysicist

+0

вы можете использовать декоратор '@ login_required' перед представлением –

1

в шаблоне записи:

{% if request.user.is_authenticated %} 
    {{ request.user.username }} 
    {{ request.user.email }} 
{% endif %} 

 Смежные вопросы

  • Нет связанных вопросов^_^