【问题标题】:point to a custum setting in the template指向模板中的自定义设置
【发布时间】:2023-03-20 23:41:01
【问题描述】:

我想在 settings.py 文件中创建设置,我可以在我使用的模板中访问这些设置,而无需在 view.py 中使用 django 传递设置

settings.py
CSS_FOLDER_ROOT = "/home/brian/Projects/RaffleThis/RaffleGym/stylesheets"

CSS_FOLDER_URL = SITE_DOMAIN + "/CSS/"

我希望服务器在发送 HttpRequest 时从 CSS_FOLDER_ROOT 提供文件

处理 django 模板 .html 文件和 views.py 文件

【问题讨论】:

    标签: css django sass


    【解决方案1】:

    我想一种方法是创建一个上下文处理器。

    在项目的某处创建一个 context_processors.py

    import settings    
    def css_url(request):
        return {'CSS_URL': settings.CSS_URL}
    

    在您的设置中添加上下文处理器

    CSS_FOLDER_ROOT = "/home/brian/Projects/RaffleThis/RaffleGym/stylesheets/"
    CSS_URL = '/css/'
    
    TEMPLATE_CONTEXT_PROCESSORS += (
        "django_app.context_processors.css_url",
    )
    

    然后你可以在你的模板中使用这样的东西。

    <link rel="stylesheet" href="{{ CSS_URL }}<filename.css>" />
    

    【讨论】:

    • 服务器将提供什么服务,它可能只起作用,因为它引用了我的根目录。它需要来自 SITE_URL /static/css
    • 我更新了答案。您还需要配置 URLconf 以提供来自 CSS_FOLDER_ROOT 的文件
    • 这似乎是另一个问题。您的问题已得到解答 - 您可以从模板中的设置中获得价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 2015-10-04
    • 2015-10-17
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    相关资源
    最近更新 更多