Así que estoy tratando de hacer un salón de clases como un sitio web, pero es solo para un curso que alguien que conozco está ejecutando. Quiero que diferentes grupos tengan una vista diferente del sitio web. Por ejemplo, el grupo "Invitado" no puede ver los elementos del menú que el grupo "Estudiante" puede ver. Pero no funciona del todo... Aquí hay un poco de mi código para el menú:
{% if user.is_authenticated %} {% for group in user.groups.all %} {% ifequal group.name 'Student' %} <div class="menu"> <button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button> <button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button> <button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button> <button onclick="location.href='http://10.0.0.60:8000/lessons';" class="home en">Lessons</button> <button onclick="location.href='http://10.0.0.60:8000/assignments';" class="home en">Assignments</button> </div> {% endifequal %} {%ifequal group.name 'Guest'%} <button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button> <button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button> <button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button> {%endifequal%} {%endfor%} {%else%} <div class="menu"> <button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button> <button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button> <button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button> </div> {%endif%}Pero lo anterior también plantea un error.
TemplateSyntaxError at /assignments Unexpected end of expression in if tag.Aquí hay más información sobre el error:
Request Method: GET Request URL: http://10.0.0.60:8000/assignments Django Version: 3.2.7 Exception Type: TemplateSyntaxError Exception Value: Unexpected end of expression in if tag. Exception Location: /home/*****/.local/lib/python3.9/site-packages/django/template/smartif.py, line 144, in nud Python Executable: /usr/bin/python3 Python Version: 3.9.5Aquí está cómo hacerlo. No sé por qué esto funciona y el de arriba no, pero es lo que es. Pero creo que debe especificar todas y cada una de las condiciones en lugar de usar otra cosa
Código:
{% if user.is_authenticated %} {% for group in user.groups.all %} {% ifequal group.name 'Student' %} <div class="menu"> "items for group student" </div> {% endifequal %} {%ifequal group.name 'Guest'%} <div class="menu"> "items for group Guest" </div> {%endifequal%} {%endfor%} {%elif not user.is_authenticated%} <div class="menu"> "items for anonymous users" </div> {%endif%}