是否可以从Django管理页面禁用缓存?

安德鲁·斯威夫特

[附加信息]

我要求一种禁用整个站点缓存的方法。这可能是多余的,因为当数据库或生成页面的程序已被修改时,我所需要的只是一种能够查看页面的最新版本的方法

有一个强烈的共识,那就是在运行时修改设置是一个非常糟糕的主意

因此,有一些想法:清除缓存可能会起作用,发送标志以指定我不想看到缓存的版本,或者指定来自我的IP地址的请求不应看到缓存的页面,这将可行的

[原始问题]

我在ozake.com上有一个基于Django的网站,并且经常重写部分编程内容或更改页面内容。

每次我处理它时,我都会修改settings.py以禁用缓存,以便可以实时查看修改。

完成后,我将重新启用缓存。

我正在使用基于文件的缓存这是settings.py的相关部分:

CACHES = {
  'default': {'BACKEND':
 #'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
  'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
  'LOCATION': '/var/www/mysite.com/cache',

当我在站点上工作时,我注释掉了最后两行,并取消了对虚拟缓存行的注释。

这意味着SSH进入站点,修改settings.py,在站点上工作,然后重新修改。

有什么办法可以使用admin.py将其放入/ admin中某个复选框的位置?

马里奥·奥兰迪(Mario Orlandi)

如果您只是想使整个缓存无效,则可以创建一个简单的视图来执行此操作:

文件views.py

from django.core.cache import cache
from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.views.decorators.cache import never_cache

@never_cache
def clear_cache(request):
    if not request.user.is_superuser:
        raise PermissionDenied
    cache.clear()
    return HttpResponse('Cache has been cleared')

文件urls.py

from django.urls import path
from . import views

urlpatterns = [
    ...
    path('clear_cache/', views.clear_cache),
]

然后使用浏览器调用它:

http://HOST/clear_cache

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以在Django中缓存整个页面?

是否可以禁用某些kafka主题的缓存?

禁用Volley缓存管理

是否可以动态禁用“透明大页面”?

如何禁用页面缓存?

通过Django管理员删除对象时,是否可以禁用相关对象的生成?

是否可以禁用Django admin中的字段?

是否可以从磁盘/页面缓存中恢复未刷新的数据?

Azure Api管理是否可以禁用订阅密钥

如果访问用户所在的页面,是否可以禁用 URL?

是否可以禁用页面中的所有alert()

是否可以为特定页面禁用javascript IF语句

Django 页面限制(管理员和会员可以看到)

Django:编外人员可以登录到管理页面

是否可以为特定项目禁用Qt 5.8中的QML缓存?

在Oracle OAS中使用连接池时是否可以禁用隐式连接缓存?

是否可以在Mac OS X的USB大容量存储设备上禁用写缓存?

是否可以为特定字段禁用Django related_name?

是否可以对某些测试禁用django haystack?

Java Servlet如何禁用页面缓存

使用Flask禁用特定页面上的缓存

是否可以禁用MotionLayout?

是否可以在Google跟踪代码管理器中管理虚拟页面?

如何从管理命令重新缓存页面?

tmpfs(/ dev / shm)是否使用Linux页面缓存?如果可以,那怎么办?

是否可以通过Django管理面板动态添加新字段

django:是否可以使用管理面板使用的视图?

mmap是否直接访问页面缓存或页面缓存的副本?

是否可以缓存MTLLibrary或MTLFunction?