Django 列表视图不工作
Django ListView not working
我想显示每个用户的笔记列表。让已经登录的用户只能看到his/her条笔记。但是,用于显示已登录用户的所有注释的列表视图不是 working.Is 我需要添加什么吗?请帮忙!
Views.py
class NotesListView(LoginRequiredMixin,ListView):
model=Notes
models.py
class Notes(models.Model):
user=models.ForeignKey(User,on_delete=models.CASCADE)
title=models.CharField(max_length=255)
subject=models.CharField(max_length=255)
text=models.TextField()
def get_absolute_url(self):
return reverse('notes_detail',kwargs={'pk':self.pk})
forms.py
class NotesCreateForm(forms.ModelForm):
class Meta:
model=Notes
fields=('title','subject','text')
notes_list.html
{% extends 'base.html'%}
{% block content %}
<div class="jumbotron container" style="background-color:rgba(0, 0, 0, 0.1);margin-top:2em;">
<a href="{%url 'notes_create'%}">Add</a>
<br>
{%for note in notes_list %}
<a href="{%url 'notes_detail' pk=note.pk%}">{{user.note.title}}</a><br>
{% endfor %}
</div>
{% endblock %}
您需要更改您的 views.py,通常您将它们添加到您的 forms.py 而不是 views.py
我正在对我的查询做类似的事情filter.I希望它对你有帮助。
queryset_list = Notes.objects.filter(user=request.user)
您应该在 NotesListView 上定义自定义查询集
class NotesListView(LoginRequiredMixin,ListView):
model = Notes
context_object_name = 'notes_list'
template_name = 'name of your template'
def get_queryset(self):
return super(NotesListView, self).get_queryset().filter(user=self.request.user)
我想显示每个用户的笔记列表。让已经登录的用户只能看到his/her条笔记。但是,用于显示已登录用户的所有注释的列表视图不是 working.Is 我需要添加什么吗?请帮忙!
Views.py
class NotesListView(LoginRequiredMixin,ListView):
model=Notes
models.py
class Notes(models.Model):
user=models.ForeignKey(User,on_delete=models.CASCADE)
title=models.CharField(max_length=255)
subject=models.CharField(max_length=255)
text=models.TextField()
def get_absolute_url(self):
return reverse('notes_detail',kwargs={'pk':self.pk})
forms.py
class NotesCreateForm(forms.ModelForm):
class Meta:
model=Notes
fields=('title','subject','text')
notes_list.html
{% extends 'base.html'%}
{% block content %}
<div class="jumbotron container" style="background-color:rgba(0, 0, 0, 0.1);margin-top:2em;">
<a href="{%url 'notes_create'%}">Add</a>
<br>
{%for note in notes_list %}
<a href="{%url 'notes_detail' pk=note.pk%}">{{user.note.title}}</a><br>
{% endfor %}
</div>
{% endblock %}
您需要更改您的 views.py,通常您将它们添加到您的 forms.py 而不是 views.py
我正在对我的查询做类似的事情filter.I希望它对你有帮助。
queryset_list = Notes.objects.filter(user=request.user)
您应该在 NotesListView 上定义自定义查询集
class NotesListView(LoginRequiredMixin,ListView):
model = Notes
context_object_name = 'notes_list'
template_name = 'name of your template'
def get_queryset(self):
return super(NotesListView, self).get_queryset().filter(user=self.request.user)