我已成功使用Django
,Nginx
,uWSGI
和MySQL
启动了一个项目。
Django从MySQL获取数据并将其呈现为页面,但是当我更改MySQL中的数据时,即使刷新几次也不会在页面上显示更改的数据。
问题来自研究Django缓存。 我不知道如何测试Django缓存是否有效?
uwsgi:
[uwsgi]
vhost = false
plugins = python
socket = 127.0.0.1:8444
master = true
enable-threads = true
workers = 1
wsgi-file = project0/wsgi.py
chdir = /home/www/project0
touch-reload=/home/www/project0/reload
views.py
from django.shortcuts import render
from apps.blog.models import Timetest
timetest=Timetest.objects.get(id=1)
def index(req):
content="welcome"
return render(req,"blog/index.html",{"timetest":timetest})
博客/ index.html中
{{ timetest }}
答案 0 :(得分:2)
将timetest=Timetest.objects.get(id=1)
移至您的index
功能
def index(req):
content = "welcome"
timetest = Timetest.objects.get(id=1)
return render(req, "blog/index.html", {"timetest": timetest})
答案 1 :(得分:1)
使用WSGI,应用程序代码将在第一次请求时或wsgi服务器启动时加载,因此放置在视图函数之外的所有代码(或在视图外执行的其他函数)将在每个服务器上执行一次,并赢得&#39 ;页面刷新后再次执行。因此,您的timetest
变量将被填充一次,并且它的内容将保留在请求之间(它实际上填充了首次使用的数据,但这并不重要。)
如果你移动
timetest=Timetest.objects.get(id=1)
进入视图功能,将在每个请求中从数据库中提取数据,而不仅仅是一次。