Django Server 不影响视图更改
Posted
技术标签:
【中文标题】Django Server 不影响视图更改【英文标题】:Django Server Does not affect view changes 【发布时间】: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,甚至多次重新启动服务器。
这有什么问题????
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Django Server 不影响视图更改的主要内容,如果未能解决你的问题,请参考以下文章
当同时运行 ng build --watch 和 ng serve 时,Angular 7 库 html-template 更改不会影响到应用程序
如何在不影响先前视图的情况下更改 UINavigationBar 标题的名称?