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

python/django中巨型heredoc的上下文替代方案,python,css,django,Python,Css,Django,我正在编写一个视图,为投票应用程序创建自定义css文件(用户选择颜色,然后保存css文件,准备在投票中使用)。这是一个很大的css文件(大约1k行) 我试图避免用变量作为分隔符,将一个庞大的字符串列表拼接在一起。是否有一个可以通过我的视图访问的上下文处理器等价物,我只需传递base.css文件和变量字典(类似于django.shortcuts.render),然后检索结果字符串并通过ORM将其保存为文件?(我有一个CSS模型,其中有一个专用的文件字段) 我希望能够生成并存储一个静态文件,而不是通

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

我试图避免用变量作为分隔符,将一个庞大的字符串列表拼接在一起。是否有一个可以通过我的视图访问的上下文处理器等价物,我只需传递base.css文件和变量字典(类似于
django.shortcuts.render
),然后检索结果字符串并通过ORM将其保存为文件?(我有一个CSS模型,其中有一个专用的
文件字段


我希望能够生成并存储一个静态文件,而不是通过上下文处理器为每个页面点击生成一个动态css文件。

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

@function myvariable(){
  @return unquote("{{ cssform.myvariable.value }}");
}
然后只需将其通过视图中的上下文处理器:

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

我不太明白你的问题。为什么你不能使用模板系统?