【问题标题】:Django is caching even though it shouldn'tDjango 正在缓存,即使它不应该
【发布时间】:2011-06-20 06:25:48
【问题描述】:

我有以下问题。在我的应用程序中,我允许用户将图像上传到我的静态服务器。每个图像都有一个在每次刷新视图时生成的唯一 ID。这部分应用程序通过 Squid 和 Apache 代理。但是在我的管理部分(没有代理)我也可以使用相同的代码上传文件。奇怪的是,我的唯一 ID 被缓存在这里,并在 apache 清除 python 缓存后约 15 分钟后发生变化。有没有人遇到过这样的问题?

这里有一些代码,上传表单:

    <form method="post" target="upload_target" action="{{ upload_url }}" enctype="multipart/form-data">
        {{ form.as_p }}
        <p style="display:none">
            <input type="hidden" maxlength="64" name="myfileid" id="myfileid" value="{{ myfileid }}" >
        </p>
        <p>
            <input id="submit" type="submit" value="Add">
        </p>
        <iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0px solid #fff;"></iframe>
    </form>

查看:

def manage_element_image(request, object_id):

    template = 'management/add_element.html'

    upload_url = settings.STATIC_SERVER
    form = ElementImageForm()   
    myfileid = create_did()

    try:
        object = Element.objects.get(id=int(object_id))
    except:
        object = None

    result = render_to_string(template, RequestContext(request, {
        'upload_url': upload_url,
        'form': form,
        'myfileid': myfileid,
        'objectid': object_id,
        'object': object,
    }))

    return HttpResponse(result)

和函数生成id:

def create_id():

    hash = "ABCDEFGHIJKLMNOPQRSTUWVXYZ0123456789"
    length = 43
    prefix = "ELEMENT"
    number = ""
    for i in range(0, length):
        number += random.choice(hash)

    return prefix + number

我正在使用虚拟缓存,但仅用于查询。

【问题讨论】:

  • 我目前遇到了同样的问题,但使用的是模板图像。我们有一种方法可以确保您始终收集对象的未缓存版本......但不确定如何
  • @Glycerine - 这并没有给我太多。我知道缓存的基础知识。我在设置中有缓存的中间件,但为什么只有部分站点被缓存?此外,如果我使用每个视图缓存并将其设置为“从不缓存”(例如使用装饰器),我还能在此视图中使用查询的 ceching 吗?

标签: django apache caching squid


【解决方案1】:

使用@never_cache decorator 似乎可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多