【问题标题】:TypeError: __init__() got an unexpected keyword argument 'current_app' DjangoTypeError: __init__() 得到了一个意外的关键字参数 'current_app' Django
【发布时间】:2017-03-01 07:30:48
【问题描述】:

我刚刚通过 Gitlab 将我的应用程序通过迁移上传到生产服务器 (Centos7) 并且一切正常,这里的问题是,一旦我想通过浏览器访问,我的日志中就会出现此错误:

File "/usr/lib/python2.7/site-packages/django/shortcuts/__init__.py", line 49, in render
    context_instance = RequestContext(request, current_app=current_app)
TypeError: __init__() got an unexpected keyword argument 'current_app'

奇怪的是,一切都在我的本地机器上正常运行,我可以毫无问题地运行它,服务器端的唯一区别是我使用生产设置运行服务器(使用生产服务器的配置)

提示:如果我通过 url 运行函数,一切运行正常似乎问题是每次进入“返回渲染”时我也会收到该消息。

感谢您的关注,

【问题讨论】:

  • context_instance = RequestContext(request, current_app=current_app) 为什么不只是 context_instance = RequestContext(request, current_app) 假设 current_app 是一个类似对象的字典

标签: python django gitlab centos7


【解决方案1】:

我发现问题是因为我的服务器中有一个最旧的 Django 文件夹(1.6 版本)。我删除了所有 Django 版本,重新启动服务器并安装了我的应用程序使用的版本(1.10.2),问题已解决

【讨论】:

    【解决方案2】:

    如果您必须使用旧版本的 Django1.XX,并且您无法删除 Django 版本并重新启动服务器以及渲染方法的问题 你可以用 get_template("template path").render(params)HttpResponse

    替换你的 render 方法
        # return render(request, 'user/reset_pass.html', params)
    
        reset_html_text = get_template('user/reset_pass.html').render(params)
        return HttpResponse(reset_html_text)
    

    这对我有用,无需删除并重新启动服务器。

    【讨论】:

      猜你喜欢
      • 2017-10-16
      • 2020-06-15
      • 1970-01-01
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      相关资源
      最近更新 更多