首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中使用查询字符串参数加载不同的css样式

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

Stack Overflow用户
提问于 2016-12-30 18:15:49
回答 2查看 246关注 0票数 1

urls.py:

代码语言:javascript
复制
urlpatterns = [
    # Examples:
    url(r'^/pageId=yeti$', home, name='home'),
]

layout.html:

代码语言:javascript
复制
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>

views.py:

代码语言:javascript
复制
def home(request):
    """Renders the home page."""


    pageId = ""
    if(request.GET.get('pageId')):
       pageId= "yeti"
    elif request.POST.get('pageId'):
      pageId = request.POST.get('pageId')      
    return render(
        request,
        'app/index.html',
        context =
        {
            pageId : pageId,
            'title':'Home Page',
            'year':datetime.now().year,
        }
    )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-30 18:24:35

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

下面链接到django模板语言中的if语句:https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#std:templatetag-if

下面是模板的样子,使用django模板语言:

代码语言:javascript
复制
{% 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>
票数 0
EN

Stack Overflow用户

发布于 2016-12-30 20:48:29

layout.html

代码语言:javascript
复制
{%  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>  

views.py

代码语言:javascript
复制
def home(request):
    """Renders the home page."""

    pageId = ""
    if(request.GET.get('pageId')):
       pageId= "Cerulean"

    elif request.POST.get('themeLoader'):
      pageId = request.POST.get('themeLoader')      
    return render(
        request,
        'app/index.html/',
        context =
        {
            'pageId2' : pageId,
            'title':'Home Page',
            'year':datetime.now().year,
        }
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41400761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档