我正在 django 上编写应用程序,并希望实现更改 CSS 设置的功能。例如,在我的设置模块上,我想更改字体的颜色或字体的大小,知道如何实现吗?
谢谢!
最佳答案
我正在使用自定义 View 返回动态 CSS 文件;它使用文件缓存来避免为每个请求重复渲染。
查看函数:
@cache_page(None) # won't expire, ever
def dyn_css(request):
(css_theme, created) = CSS_Theme.objects.get_or_create(pk=1)
return render_to_response('dynamic.css', {'theme': css_theme},
content_type="text/css")
重置功能,需要时“手动”调用:
def reset_cache(request, view='dyn_css', args=None):
from django.core.cache import cache
from django.utils.cache import get_cache_key
if args is None:
path = reverse(view)
else:
path = reverse(view, args=args)
request.path = path
key = get_cache_key(request)
if key in cache:
cache.delete(key)
CSS 文件:
.row {
background-color: {{ theme.background_color }} !important;
}
关于python - 从代码自定义 CSS (Django),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28030098/