首页>>后端>>Python->django如何做页面刷新(django网页数据实时刷新)

django如何做页面刷新(django网页数据实时刷新)

时间:2023-12-11 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django如何做页面刷新的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django 制作web网站,动态页面数据已更新,但是无法刷新,这是怎么回事?是页面缓存吗?

其实你说你做了一个注册页面,然后post到当前页面的地址,然后返回注册成功的信息。

首先,如果现在成功返回的注册成功信息,你点击了F5或浏览器上的刷新,浏览器会默认再发一次请求,这时会问你是否继续提交,如果你点了继续提交,那么你之前的注册信息会再次被提交,如果后台不去验证唯一性,那么会出现两条相同的记录。

其次,假设不是上面所说的再次post提交,你直接浏览器输入你的这个网址,默认做的是get提交,这时如果你的后台不去验证当前用户是否注册过,那么始终返回最初的注册页面,其实这里正常注册提交上来的数据你会保存到数据库里,那么当前用户对应的session_id在用户登录后就需要跟用户进行绑定,只要是这个session_id那么就提示已经注册过就可以了

我在Django修改了html文件 ,刷新网页没有变化,把html文件删除了网页也可

Django这是什么没听说过,但出现这种问题基本就是两种情况,一种是浏览器将页面缓存了,清一下浏览器缓存。另一种是服务器里储存了项目,去服务器里将原始项目清掉,重新部署进去

Django 怎么做静态化页面?

如果网站的流量过大,每次访问时都动态生成,执行SQL语句,消耗大量服务器资源,这时候可以考虑生成静态页面。

生成静态很简单,下面是一个例子:

只要在views.py中这样写就行了

from django.shortcuts import render

from django.template.loader import render_to_string

import os

def my_view(request):

context = {'some_key': 'some_value'}

static_html = '/path/to/static.html'

if not os.path.exists(static_html):

content = render_to_string('template.html', context)

with open(static_html, 'w') as static_file:

static_file.write(content)

return render(request, static_html)

上面的例子中,当用户访问时,如果判断没有静态页面就自动生成静态页面,然后返回静态文件,当文件存在的时候就不再次生成。

也可以用一个文件夹,比如在project下建一个 static_html 文件夹,把生成的静态文件都放里面,让用户像访问静态文件那样访问页面。

更佳办法

但是一般情况下都不需要生成静态页面,因为Django 有缓存功能,使用 Django Cache(缓存)就相当于把生成生成静态页面,而且还有自动更新的功能,比如30分钟刷新一下页面内容。

结语:以上就是首席CTO笔记为大家整理的关于django如何做页面刷新的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何做页面刷新的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/25382.html