在我的django網站中,我有諸如'project_list'和'project_detail'之類的頁面。每個項目都有具有不同角色的成員(開發者,經理,e.t.c)。我想根據當前用戶在模板中項目中的角色顯示不同的按鈕。我需要如何實現它的想法。比方說類似的東西在模板:確定用戶在項目中的角色
{%如果request.user.role_in_the_current_project = '經理' %} SOW SOMETHING {%ENDIF%}
models.py
class Project(models.Model):
name = models.CharField(max_length=250,)
slug = models.SlugField(max_length=250, unique_for_date='publication_date',)
*Other fields*
def get_absolute_url(self):
return reverse('project:project_detail', args=[self.slug])
class Membership (models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
ROLE_CHOICES = (
('manager', 'Manager'),
('developer', 'Developer'),
('business_analyst', 'Business analyst'),
('system_analysts', 'System analysts'),
)
role = models.CharField(max_length=20, choices=ROLE_CHOICES,)
view.py
def project_detail(request, slug):
project = get_object_or_404(Project, slug=slug, status='public')
return render(request, 'project/project_detail.html', {'project': project,})
project_detail.html
{% block content %}
<h1>{{ project.name }}</h1>
<p>{{ project.description|linebreaks }}</p>
{%endblock %}
urls.py
urlpatterns = [
url(r'^project/(?P<slug>[-\w]+)/$', project_detail, name='project_detail'),
]
嗯,我知道了。我需要幫助實現。正如您在模特會員中看到的,我有角色領域和選擇概念。現在我稍微用project_detail視圖來表達請求用戶在該項目中的角色。 –
我在模板中使用了它,但它並沒有幫助'{%if request.user.project.membership__role =='manager'%} {%endif%}'您有任何其他想法嗎? –
Just {%if request.user.role ='Manager'%} does not work。所以傷心=( –