big*_*ind 5 django static-files
默认情况下,ManifestStaticFilesStorage仅在时返回带有哈希值的网址DEBUG=False。我希望我的开发环境尽可能接近生产环境,但是在开发过程中,我确实需要将debug设置为False。有没有办法告诉ManifestStaticFilesStorage总是给我带哈希的网址?
您可以覆盖url方法,ManifestStaticFilesStorage以便它始终为您提供带有哈希值的网址。
from django.contrib.staticfiles.storage import ManifestStaticFilesStorage
from django.conf import settings
class BigBlindManifestStaticFilesStorage(ManifestStaticFilesStorage):
def url(self, name, force=True):
"""
Override .url to use hashed url in development
"""
return super(ManifestStaticFilesStorage, self).url(name, True)
Run Code Online (Sandbox Code Playgroud)
ben432rew的答案很接近,但必须调用super而url不是name,hashed_name除非您向生成具有该名称的变量的方法添加一些其他代码。此外,存储类的最后一行url返回其值也很重要super:
from django.contrib.staticfiles.storage import ManifestStaticFilesStorage
from django.conf import settings
class BigBlindManifestStaticFilesStorage(ManifestStaticFilesStorage):
def url(self, name, force=True):
"""
Override .url to use hashed url in development
"""
return super(ManifestStaticFilesStorage, self).url(name, True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |