我安装了Django
+Uwsgi
+Nginx
。项目正在运行。但是,当我在view
中更改某些内容时,更改不会反映到页面,直到我重新启动uwsgi
。我应该重新启动uwsgi
每次我在view
改变?但是当我添加时间到view
显示在页面上。每次刷新页面,显示的时间都在变化
我的view
是:
from django.shortcuts import render
from django.http import HttpResponse # added
from django.utils import timezone
def home(request):
return HttpResponse('This is the home page. 101' + str(timezone.now()))
Myurls.py
:
from django.contrib import admin
from django.urls import path
from godentiapp import views # added
urlpatterns = [
path('', views.home, name='home'), # added
path('admin/', admin.site.urls),
]
每次[我]在视图中进行更改时,[我]应该重启uwsgi吗?
对,每次你改变源代码,你需要重新启动web服务器,因为文件总是加载一次。Python解释器将读取源文件,并将其加载到内存中。修改后的文件不会被反映。
如果你使用的是开发模式的Django,对于源文件的修改,它会自动重启服务器[Django-doc]:
开发服务器根据需要自动为每个请求重新加载Python代码。您不需要重新启动服务器以使代码更改生效。但是,有些操作(如添加文件)不会触发重新启动,因此在这些情况下,您必须重新启动服务器。
但是在生产环境中不会这样做,也不应该这样做,因为这会导致安全风险。