'wiki_render' 没有收到参数的值:'request'

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

我尝试修改 django-wiki

函数

  @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'

我必须更改以修复错误

如果你想访问 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

查看 django-wikilogin_url 标签的来源作为示例。