Python 如何在Django中使用查询字符串参数加载不同的css样式

Python 如何在Django中使用查询字符串参数加载不同的css样式,python,django,Python,Django,URL.py: urlpatterns = [ # Examples: url(r'^/pageId=yeti$', home, name='home'), ] layout.html: if(pageId == 'yeti'): <link rel="stylesheet" type="text/css" href="{% static 'app/content/bootswatch/yeti/bootstrap.min.css' %}" /&g

URL.py:

urlpatterns = [
    # Examples:
    url(r'^/pageId=yeti$', home, name='home'),
]
layout.html:

if(pageId == 'yeti'):    
        <link rel="stylesheet" type="text/css" href="{% static 'app/content/bootswatch/yeti/bootstrap.min.css' %}" />    


    <select class="form-control" id="themeLoader" onchange={% url '/pageId=yeti/' %}>
                    <option value="Yeti">Yeti</option>
                </select>

您应该使用django模板语言来指导模板layout.html中的逻辑流

{%  if pageId2 == "Cerulean" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cerulean/bootstrap.min.css' %}" />
    {% endif %}

    {%  if pageId2 == "Cosmo" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cosmo/bootstrap.min.css' %}" />
    {% endif %}

<form action="{% url 'home' %}" method="Post">
                        {% csrf_token %}
                        <select style="margin:5px;" class="form-control" id="themeLoader" name="themeLoader" onchange="this.form.submit()">
                            <option value="Select">Select Theme</option>
                            <option value="Cerulean">Cerulean</option>
                            <option value="Cosmo">Cosmo</option>        
                      </select>                        
                </form>  
以下是django模板语言中if语句的链接:

以下是使用django模板语言创建的模板的外观:

{% if pageId == "yeti" %}
  <link rel="stylesheet" type="text/css" href="{% static 'app/content/bootswatch/yeti/bootstrap.min.css' %}" />
{% endif %}       

<select class="form-control" id="themeLoader" onchange={% url '/pageId=yeti/' %}>
    <option value="Yeti">Yeti</option>
</select>
{%if-pageId==“yeti”%}
{%endif%}
雪人

您应该使用django模板语言来指导模板layout.html中的逻辑流

{%  if pageId2 == "Cerulean" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cerulean/bootstrap.min.css' %}" />
    {% endif %}

    {%  if pageId2 == "Cosmo" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cosmo/bootstrap.min.css' %}" />
    {% endif %}

<form action="{% url 'home' %}" method="Post">
                        {% csrf_token %}
                        <select style="margin:5px;" class="form-control" id="themeLoader" name="themeLoader" onchange="this.form.submit()">
                            <option value="Select">Select Theme</option>
                            <option value="Cerulean">Cerulean</option>
                            <option value="Cosmo">Cosmo</option>        
                      </select>                        
                </form>  
以下是django模板语言中if语句的链接:

以下是使用django模板语言创建的模板的外观:

{% if pageId == "yeti" %}
  <link rel="stylesheet" type="text/css" href="{% static 'app/content/bootswatch/yeti/bootstrap.min.css' %}" />
{% endif %}       

<select class="form-control" id="themeLoader" onchange={% url '/pageId=yeti/' %}>
    <option value="Yeti">Yeti</option>
</select>
{%if-pageId==“yeti”%}
{%endif%}
雪人
layout.html

{%  if pageId2 == "Cerulean" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cerulean/bootstrap.min.css' %}" />
    {% endif %}

    {%  if pageId2 == "Cosmo" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cosmo/bootstrap.min.css' %}" />
    {% endif %}

<form action="{% url 'home' %}" method="Post">
                        {% csrf_token %}
                        <select style="margin:5px;" class="form-control" id="themeLoader" name="themeLoader" onchange="this.form.submit()">
                            <option value="Select">Select Theme</option>
                            <option value="Cerulean">Cerulean</option>
                            <option value="Cosmo">Cosmo</option>        
                      </select>                        
                </form>  
layout.html

{%  if pageId2 == "Cerulean" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cerulean/bootstrap.min.css' %}" />
    {% endif %}

    {%  if pageId2 == "Cosmo" %}
        <link rel="stylesheet" type="text/css" href="{% static 'app/bootswatch/cosmo/bootstrap.min.css' %}" />
    {% endif %}

<form action="{% url 'home' %}" method="Post">
                        {% csrf_token %}
                        <select style="margin:5px;" class="form-control" id="themeLoader" name="themeLoader" onchange="this.form.submit()">
                            <option value="Select">Select Theme</option>
                            <option value="Cerulean">Cerulean</option>
                            <option value="Cosmo">Cosmo</option>        
                      </select>                        
                </form>  

@sly_Chandan,你在django日志或浏览器控制台中看到错误了吗?在呈现之前,您是否验证了在上下文中正确设置了
pageId
?未找到“/pageId=yeti/”的/Reverse处的NoReverseMatch,其中包含参数“()”和关键字参数“{}”。尝试了0个模式:[]这是我得到的错误,@sly_Chandan,这意味着django无法为您提供的url找到正确的视图。您的URL配置不正确。你是否遵循了说明?你想用什么URL来点击它?它是否应该是您的索引url,带有
pageId
的GET参数?如果这是正确的,那么就不应该在模式中包含GET参数以匹配url.py。请参阅以供参考。因此,您应该从url模式中删除
pageId=yeti
。这是我的url模式url(r'^$',home,name='home')]@sly_Chandan,您在django日志或浏览器控制台中是否看到任何错误?在呈现之前,您是否验证了在上下文中正确设置了
pageId
?未找到“/pageId=yeti/”的/Reverse处的NoReverseMatch,其中包含参数“()”和关键字参数“{}”。尝试了0个模式:[]这是我得到的错误,@sly_Chandan,这意味着django无法为您提供的url找到正确的视图。您的URL配置不正确。你是否遵循了说明?你想用什么URL来点击它?它是否应该是您的索引url,带有
pageId
的GET参数?如果这是正确的,那么就不应该在模式中包含GET参数以匹配url.py。请参阅以供参考。因此,您应该从url模式中删除
pageId=yeti
。这是我的url模式url(r'^$',home,name='home')]