<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC=1,5] >[success] # 雙菜單組合,兩者互不影響,只對數據結果影響 ![](https://box.kancloud.cn/85e58626858a4f5fb510f87967473411_503x312.png) >[danger] ##### model.py | 表名 | 含義 | | --- | --- | | Category | 所有種類 | | ArticleType | 文章類型 | | Article | 文章保存 | ~~~ class Category(models.Model): category = models.CharField(max_length=32) class ArticleType(models.Model): articletype = models.CharField(max_length=32) class Article(models.Model): title = models.CharField(max_length=32) content = models.CharField(max_length=225) category = models.ForeignKey(Category) article_type = models.ForeignKey(ArticleType) ~~~ >[success] # 思路分析 整體的路由映射都離不開URL,所以對url,進行分析 >[danger] ##### url ~~~ 1. 定義的url 參數最好要和字段名字一致 2. 所有的請求入口都是url,進行傳值訪問的時候要利用這點 ~~~ ~~~ urlpatterns = [ url( "index/(?P<category_id>\d+)-(?P<article_type_id>\d+)", views.index,name="index" ) ] ~~~ >[danger] ##### models.py ~~~ 1.article 這個數據庫和我們的category/articletype 一對多的關系 2.url 上綁定的數字,分別是上面兩個表的主鍵 3.每次處理后的數據和處理前的url 再返回回去 ~~~ ~~~ def index(request,**kwargs): if request.method == "GET": condition = {} for k,v in kwargs.items(): kwargs[k] = int(v) if v == "0": pass else: condition[k] = v category = models.Category.objects.all() articletype = models.ArticleType.objects.all() article = models.Article.objects.filter(**condition) return render(request,'index.html', { "category": category, "articletype": articletype, "article": article, "kargs": kwargs }) ~~~ >[danger] ##### html ~~~ <body> <!--category 種類的展示--> <div> {% if kargs.category_id == 0 %} <a class="active" href="{% url 'index' 0 kargs.article_type_id %}">全部</a> {% else %} <a href="{% url 'index' 0 kargs.article_type_id %}">全部</a> {% endif %} {% for i in category %} {% if i.id == kargs.category_id%} <a class="active" href="{% url 'index' i.id kargs.article_type_id %}">{{ i.category }}</a> {% else %} <a href="{% url 'index' i.id kargs.article_type_id %}">{{ i.category }}</a> {% endif %} {% endfor %} </div> <div> {% if kargs.article_type_id == 0 %} <a class="active" href="{% url 'index' kargs.category_id 0 %}">全部</a> {% else %} <a href="{% url 'index' kargs.category_id 0%}">全部</a> {% endif %} {% for i in articletype %} {% if i.id == kargs.article_type_id%} <a class="active" href="{% url 'index' kargs.category_id i.id %}">{{ i.articletype }}</a> {% else %} <a href="{% url 'index' kargs.category_id i.id %}">{{ i.articletype }}</a> {% endif %} {% endfor %} </div> {% for i in article %} {{ i.title }}-{{ i.content }} {% endfor %} ~~~ >[danger] ##### 對html 優化 * 全部函數寫法 ~~~ from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag def filter_all(arg_dict,k): ''' {% if arg_dict.article_type_id == 0 %} <a class="active" href="/article/-0-{{ arg_dict.category_id }}">全部</a> {% else%} <a href="/article/-0-{{ arg_dict.category_id }}">全部</a> {% endif %} ''' if k == "article_type_id": n1_k = arg_dict[k] n2_k = arg_dict['category_id'] if n1_k == 0: ret = '<a class="active" href="/article/-0-%s">全部</a>' % n2_k else: ret = '<a href="/article/-0-%s">全部</a>' % n2_k return mark_safe(ret) else: n1_k = arg_dict[k] n2_k = arg_dict ['article_type_id'] if n1_k == 0: ret = '<a class="active" href="/article/-%s-0">全部</a>' % n2_k else: ret = '<a href="/article/-%s-0">全部</a>' % n2_k return mark_safe(ret) ~~~ * 兩菜單的寫法 ~~~ @register.simple_tag def filter_article_type(article_type_list,arg_dict): ''' {% for i in article_type_list %} {% if i.id == arg_dict.article_type_id %} <a class="active" href="/article/-{{ i.id }}-{{ arg_dict.category_id }}">{{ i.caption }}</a> {% else %} <a href="/article/-{{ i.id }}-{{ arg_dict.category_id }}">{{ i.caption }}</a> {% endif %} {% endfor %} ''' ret = [] for i in article_type_list: if i.id == arg_dict['article_type_id']: temp = '<a class="active" href="/article/-%s-%s">%s</a>'%(i.id, arg_dict['category_id'],i.caption) else: temp = '<a href="/article/-%s-%s">%s</a>'%(i.id, arg_dict['category_id'],i.caption) ret.append(temp) #把列表轉化成字符串 print(" ".join(ret)) return mark_safe(" ".join(ret)) @register.simple_tag def filter_category(category_list,arg_dict): ''' {% for i in category_list %} {% if i.id == arg_dict.category_id %} <a class="active" href="/article/-{{ arg_dict.article_type_id }}-{{ i.id }}">{{ i.caption }}</a> {% else %} <a href="/article/-{{ arg_dict.article_type_id }}-{{ i.id }}">{{ i.caption }}</a> {% endif %} {% endfor %} ''' ret = [] for i in category_list: if i.id == arg_dict['category_id']: temp = '<a class="active" href="/article/-%s-%s">%s</a>' % ( arg_dict['article_type_id'],i.id, i.caption) else: temp = '<a href="/article/-%s-%s">%s</a>' % (arg_dict['article_type_id'],i.id, i.caption) ret.append(temp) # 把列表轉化成字符串 print(" ".join(ret)) return mark_safe(" ".join(ret)) ~~~ * 調用 ~~~ <div class="condition"> <div> {% filter_all arg_dict 'article_type_id' %} {% filter_article_type article_type_list arg_dict%} </div> <div> {% filter_all arg_dict 'category_id' %} {% filter_category category_list arg_dict %} </div> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看