【问题标题】:Django Server Does not affect view changesDjango Server 不影响视图更改
【发布时间】:2020-08-29 02:24:57
【问题描述】:

我在 Ubuntu 18.04 上使用 Nginx 和 Gunicorn 来服务我的 Django 项目。

我正确配置了 ( like here ) 的所有内容并且运行良好,但我注意到我的视图更改不会影响我的服务器端,尽管应用了模板更改。

这是我的场景:


第一次提交:

service.views.py:

def showSudent(req):
  student = Student.objects.get(pk=1)
  return render(req, 'bio.html, { 'student' : student} )

模板/bio.html:

<h3>{{ student.firstName }}</h3>

第二次提交:

service.views.py:

def showSudent(req):
  student = Student.objects.get(pk=1)
  return render(req, 'student.html, { 'student' : student} )

模板/bio.html:

<h3>{{ student.lastName }}</h3>

我更改了视图和模板并将它们拉到服务器。

所以现在,django 仍在渲染 'bio.html' (但它必须渲染 'student.html' ),有趣的是它显示了 'student. '现在。

这意味着,django 看到了我的模板变化,但没有看到视图变化。

我反复检查服务器上的一切都正确,是的,所有代码在服务器上都是正确的,但不会影响任何视图更改,尽管我的所有模板更改都受到了影响。

我还重新启动了nginx,甚至多次重新启动服务器。

这有什么问题????

【问题讨论】:

    标签: django nginx deployment server gunicorn


    【解决方案1】:

    我觉得你需要重启 Gunicorn

    sudo systemctl restart gunicorn
    

    【讨论】:

    • 已删除服务器,并重新配置所有内容。现在,是的,这可以正常工作。我仍然不知道为什么它不能与以前的服务器一起使用。我已经尝试了很多次,但没有在那里工作,但在新服务器上没问题。
    • 我总是重启sudo systemctl restart gunicorn nginx
    【解决方案2】:

    默认情况下 gunicorn 需要手动重启应用程序,还有另一个选项不适合使用 --reload 参数运行 gunicorn 的生产环境,例如:

    $ gunicorn wsgi:application --reload
    

    https://docs.gunicorn.org/en/19.0/settings.html#reload

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 2021-10-06
      • 2014-02-24
      • 2016-04-16
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 2018-05-19
      • 1970-01-01
      相关资源
      最近更新 更多