我需要添加一个指向我的 Django 站点的链接,该链接仅在用户在特定组中时才会出现。我试图写一个解决方案,但它引发了一堆错误
如果允许用户添加课程,则处理 button_for_teacher 模板。并且这个模板本身被插入到base.html中的include标签中
def is_instructor(request, username):
user = User.objects.get(username=username)
if user.has_perm('course.can_add_course'):
return render(request, 'courses/course/button_for_teacher.html')
button_for_teacher.html
{% extends "base.html" %}
{% block title %}
{% endblock %}
{% block content %}
<a href="{% url "manage_course_list" %}">Your courses</a>
{% endblock %}
base.html
{% include "courses/course/button_for_teacher.html" %}
在列表页面上显示每个人的课程列表并且应该有一个链接的视图
class CourseListView(TemplateResponseMixin, View):
model = Course
template_name = 'courses/course/list.html'
def get(self, request, subject=None):
subjects = Subject.objects.annotate(total_courses=Count('courses'))
courses = Course.objects.annotate(total_modules=Count('modules'))
if subject:
subject = get_object_or_404(Subject, slug=subject)
courses = courses.filter(subject=subject)
return self.render_to_response({'subjects':subjects,
'subject':subject,
'courses':courses})
将变量添加到上下文并在模板中使用它来确定是否需要生成带有链接的片段:
鉴于: