Jak mogę uzyskać bieżącego użytkownika w znacznikach szablonu django? (obiekt żądania nie jest dostępny) Albo jak mogę uzyskać dostęp do obiektu żądania?Jak uzyskać bieżącego użytkownika w tagu szablonu?
Odpowiedz
Jeśli chcesz uzyskać dostęp do bieżącego użytkownika w szablon, należy przekazać go jako parametr w szablonach, jak tak:
{% my_template_tag user %}
Następnie upewnij się, że szablon akceptuje to dodatkowy parametr. Sprawdź documentation na ten temat. Powinieneś również sprawdzić numer simple tags.
Użytkownik jest zawsze dołączony do wniosku, w szablonach można wykonać następujące czynności:
{% if user.is_authenticated %}
{% endif %}
Nie trzeba określić „żądanie”, aby uzyskać dostęp do jego zawartości
UPDATE:
Bądź świadomy: is_authenticated()
zawsze powrócić True
dla zalogowanych użytkowników (User
obiektów), ale zwraca False
dla AnonymousUser
(użytkownicy-goście). Czytaj tutaj: https://docs.djangoproject.com/en/1.7/ref/contrib/auth/
To nie jest temat – tapioco123
'user.is_authenticated' zawsze zwraca wartość true, więc jest w zasadzie bezużyteczne. –
nie! Zawsze zwraca wartość true dla User (zalogowany), ale zwraca wartość false dla AnonymousUser, więc nie jest bezużyteczna! Przeczytaj uważnie: https://docs.djangoproject.com/en/1.7/ref/contrib/auth/ – daveoncode
Ta kwestia była już answered here:
{% ifuser.is_authenticated %}
Welcome
'{{ user.username }}'
{% else %}
<a href="{% url django.contrib.auth.login %}">Login</a>
{% endif %}
i upewnij się, że masz procesor żądanie kontekstowe szablon zainstalowanej w settings.py:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.request',
...
)
Uwaga:
- użytku
request.user.get_username()
w widokach &user.get_username
w szablonów. Preferowane bezpośrednie odwoływanie się do atrybutu nazwy użytkownika. Source - Ta zmienna kontekstowa szablonu jest dostępna, jeśli używany jest RequestContext.
- django.contrib.auth.context_processors.auth jest domyślnie włączona & zawiera zmienna użytkownikowi
- NIE musisz włączyć django.core.context_processors.request procesor kontekstowego szablonu.
Źródło: https://docs.djangoproject.com/en/dev/topics/auth/default/#authentication-data-in-templates
- 1. Jak uzyskać nazwę bieżącego szablonu wewnątrz szablonu Jinja2?
- 2. Jak uzyskać nazwę bieżącego widoku z szablonu układu w Railsach?
- 3. Jak uzyskać bieżącego użytkownika i jak używać klasy użytkownika w MVC5?
- 4. Nie mogę uzyskać bieżącego użytkownika z opiekunem
- 5. Django: Jak uzyskać bieżącego użytkownika w formularzach administracyjnych
- 6. Jak uzyskać identyfikator bieżącego użytkownika zalogowanego w grails?
- 7. Jak uzyskać katalog domowy bieżącego użytkownika w systemie Windows?
- 8. Lista dla bieżącego użytkownika
- 9. Jak użyć filtra szablonu do niestandardowego tagu szablonu?
- 10. Jak sprawdzać role bieżącego użytkownika
- 11. Jak uzyskać rolę dla bieżącego użytkownika z Spring Security
- 12. Jak poznać rolę bieżącego użytkownika w WordPress?
- 13. Uzyskiwanie bieżącego użytkownika, gdy wcieliła
- 14. Jak uzyskać poprzednią nazwę tagu?
- 15. get Kontekst bieżącego użytkownika
- 16. Powrót bieżącego użytkownika w laravel 4
- 17. Jak uzyskać domenę bieżącego żądania?
- 18. Otrzymuj bieżącego użytkownika w Model Serializatorze
- 19. Django - użyj tagu szablonu i "z"?
- 20. W MVC3, jak uzyskać nazwę bieżącego kontrolera?
- 21. W Boost.Test, jak uzyskać nazwę bieżącego testu?
- 22. Jak uzyskać nazwę bieżącego katalogu w Ruby?
- 23. jak uzyskać nazwę użytkownika Windows w WPF
- 24. Jak mogę wyodrębnić obraz konta bieżącego użytkownika?
- 25. Get wartość zmiennej JavaScript w Django szablonu url tagu
- 26. Czy można uzyskać rekord książki adresowej bieżącego użytkownika?
- 27. Ustawianie domyślnej wartości bieżącego użytkownika w Oracle
- 28. Ustaw bieżącego użytkownika w asp.net mvc
- 29. Ustal bieżącego użytkownika w Apps Script
- 30. Jak uzyskać pełną ścieżkę do katalogu bieżącego pliku w Pythonie?
Można utworzyć go jako procesor kontekście niż tworzenie tagów szablonów i nazywają to zawsze w szablonie. W procesorze kontekstowym można uzyskać użytkownika bez wywoływania funkcji w szablonie zawsze. – catherine
Naprawdę skomplikowane dla tagu szablonu jednej liniowej ... Czy naprawdę django jest tak niefortunne? – tapioco123
Lub spróbuj umieścić to w swoim szablonie {{user.username}} – catherine