gpt4 book ai didi

python - python/django 中巨型 heredoc 的上下文替代

转载 作者:行者123 更新时间:2023-11-28 06:10:06 25 4
gpt4 key购买 nike

我正在编写一个 View ,为投票应用程序创建自定义 css 文件(用户选择他们的颜色,然后保存一个 css 文件,以备在他们的投票中使用)。这是一个很大的 css 文件(大约 1k 行)。

我试图避免将一个巨大的字符串列表拼接在一起,而我的变量充当分隔符。是否有一个上下文处理器可以通过我的 View 访问,我可以在其中传递 base.css 文件和变量字典(有点像 django.shortcuts.render),然后检索结果字符串和通过ORM将其保存为文件? (我有一个带有专用 FileField 的 CSS 模型)

我更希望能够生成然后存储静态文件,而不是通过上下文处理器为每个页面命中生成动态 css 文件。

最佳答案

正如@DanielRoseman 所建议的,实际上可以通过内置的 django 上下文处理器运行 css 文件。首先,将 scss $variables 替换为 sass 文件中的类似内容并重新编译:

@function myvariable(){
@return unquote("{{ cssform.myvariable.value }}");
}

然后将它传递给 View 中的上下文处理器:

if request.method == "POST":
form = CSSForm(request.POST)
if form.is_valid():
t = TemplateResponse(request, 'base.css', {"cssform": form})
t.render()
css_string = t.content
#now do something with your css_string

关于python - python/django 中巨型 heredoc 的上下文替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36226785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com