TypeError:__ init __()得到了一个意外的关键字参数'current_app'Django

时间:2016-10-19 15:01:46

标签: python django gitlab centos7

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

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运行功能,一切正常运行似乎问题是每次进入“返回渲染”时我也会收到该消息。

感谢您的关注,

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果必须使用旧版本的Django1.XX,并且无法删除Django版本并重新启动服务器以及render方法的问题 您可以将 render 方法替换为 get_template(“模板路径”).render(params) HttpResponse

    # return render(request, 'user/reset_pass.html', params)

    reset_html_text = get_template('user/reset_pass.html').render(params)
    return HttpResponse(reset_html_text)

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

相关问题