python - “wiki_render”未收到参数 : 'request' 的值

标签 python django wiki

我尝试修改 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标签来源举个例子。

关于python - “wiki_render”未收到参数 : 'request' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183653/

相关文章:

wiki - BitBucket 维基 : Create a hierarchy structure?

从问题到 Wiki 的 GitHub 链接

Python 命令行 : editing mistake on previous line?

python - 有没有更有效的实现方式?

django - 在 ModelViewSet 中返回 422 状态码

python - 在 Mac 上将 Django 安装到 Python 3.3

python - 获取 Bing 的表单名称

python - 在 mac 操作系统上安装 mxnet 时出错

django - 无法重启nginx

git - 版本控制应该存储哪些文件,应该如何存储?