나는 그것을 찾을 수 없다. 그래서 나는 누군가 나를 도와 줄 수 있기를 바란다. 나는 장고 (1.5)에서django context_processor 템플릿에서 이해하지 못함
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth")
을 사용하는 옵션을 발견했다. 하지만 지금은 내가 그것을 어떻게 사용해야하는지 명확하지 않습니다. 내보기를 순간 :
def user_characters(request, user_id):
characters = Character.objects.filter(user=user_id)
user = User.objects.get(id=user_id)
return render_to_response('characters.html',
{'characters': characters, "user": user},
context_instance=RequestContext(request))
난 여전히 예를 들어 Requestcontect
로 다양하게 추가를 보내지 않고이 내 템플릿의 user_object을 사용하여 활성화 된 난을 내보기에 요청을 넣어, 또는 할 수 있어야
내 템플릿 :
{% extends "base.html" %}
{% block mainframe %}
{% if characters|length < 3 %}
<p><a href="https://stackoverflow.com/users/{{ user.id }}/create/">New Character(WN)</a></p>
{% endif %}
그리고 나머지는 내보기입니다.
거의 모든보기에서 나는 user_object를 보내고 싶습니다.
누군가가 어떻게 작동하는지 예를 들어 주시겠습니까? 종류와
당신은 당신이 장고 sessions- 및 인증 프레임 워크를 사용하는 경우가 늘 어쨌든 그것을 필요로 URL에 사용자 ID를 노출하지 않아야 한스
하려면'.auth' 상황에 맞는 프로세서는 기본적으로 활성화되어, 당신은 아무것도를 추가 할 필요가 없습니다. 'RequestContext()'를 사용하면'{{user.id}} '로 사용할 수있는 모든 템플릿에서 컨텍스트 변수'user'를 사용할 수 있습니다. – Rohan
감사합니다. 사용자가 유효한지 여부를 (템플릿에서) 확인하는 방법에 대한 예제도 제공 할 수 있습니까? {%면 user.auth %}는 작동하지 않는 것 같습니다. –
사용자 이름이 없으므로 {% if user.username %} 사용할 수 있습니다. –