2015-03-21 3 views
1

Я пытаюсь изменить Джанго-Wiki'wiki_render' не получал значение (ы) для аргумента (ы): 'запрос'

функции

@register.inclusion_tag('wiki/includes/render.html', takes_context=True) 
    def wiki_render(context, article, preview_content=None): 

    if preview_content: 
     content = article.render(preview_content=preview_content) 
    else: 
     content = None 

выглядеть следующим образом

@register.inclusion_tag('wiki/includes/render.html', takes_context=True) 
def wiki_render(context, article, request, preview_content=None): 

    if preview_content: 
     content = article.render(preview_content=preview_content) 
    else: 
     content = None 
    if request.user.is_authenticated(): 
     lastname = request.user.last_name 

Но получить

 'wiki_render' did not receive value(s) for the argument(s): 'request' 

Что я должен изменить т О исправить ошибку

+2

Сообщение об ошибке выглядит довольно ясно для меня. – 4ae1e1

ответ

1

Если вы хотите получить доступ к request объект, вы можете получить его от context:

@register.inclusion_tag('wiki/includes/render.html', takes_context=True) 
def wiki_render(context, article, preview_content=None): 
    request = context['request'] 
    ... 

Обратите внимание, что это требует 'django.core.context_processors.request' быть включены в TEMPLATE_CONTEXT_PROCESSORS, но это уже prerequisite of django-wiki.

Проверьте источник login_url тег django-wiki для примера.

Смежные вопросы