CJ 1 ano atrás
pai
commit
bafac50eb7

+ 11 - 3
blog/controller/article.py

@@ -17,10 +17,11 @@ def article(request):
     page = request.GET.get('page')
     page = request.GET.get('page')
     search_title = request.GET.get('search_title')
     search_title = request.GET.get('search_title')
     search_content = request.GET.get('search_content')
     search_content = request.GET.get('search_content')
+    search_category = request.GET.get('search_category')
     if page is None:
     if page is None:
         page = 0
         page = 0
     articles = blog.controller.article.get_article(is_paginator=True, page=int(page), search_title=search_title,
     articles = blog.controller.article.get_article(is_paginator=True, page=int(page), search_title=search_title,
-                                                   search_content=search_content)
+                                                   search_content=search_content, search_category=search_category)
     return render(request, 'management/article/article.html', context={'articles': articles})
     return render(request, 'management/article/article.html', context={'articles': articles})
 
 
 
 
@@ -29,10 +30,12 @@ def draft(request):
     page = request.GET.get('page')
     page = request.GET.get('page')
     search_title = request.GET.get('search_title')
     search_title = request.GET.get('search_title')
     search_content = request.GET.get('search_content')
     search_content = request.GET.get('search_content')
+    search_category = request.GET.get('search_category')
     if page is None:
     if page is None:
         page = 0
         page = 0
     articles = blog.controller.article.get_article(is_paginator=True, page=int(page), search_title=search_title,
     articles = blog.controller.article.get_article(is_paginator=True, page=int(page), search_title=search_title,
-                                                   search_content=search_content, draft=True)
+                                                   search_content=search_content, search_category=search_category,
+                                                   draft=True)
     return render(request, 'management/article/draft.html', context={'articles': articles})
     return render(request, 'management/article/draft.html', context={'articles': articles})
 
 
 
 
@@ -231,7 +234,8 @@ def set_tag(articles):
 
 
 
 
 def get_article(top: int = -1, page: int = -1, is_paginator: bool = False, category: models.Category = None,
 def get_article(top: int = -1, page: int = -1, is_paginator: bool = False, category: models.Category = None,
-                tag: models.Tags = None, search_title: str = None, search_content: str = None, date_record: str = None,
+                tag: models.Tags = None, search_category: str = None, search_title: str = None,
+                search_content: str = None, date_record: str = None,
                 draft: bool = False):
                 draft: bool = False):
     if category is None and tag is None and date_record is None and draft == False:
     if category is None and tag is None and date_record is None and draft == False:
         search_dict = dict()
         search_dict = dict()
@@ -239,6 +243,8 @@ def get_article(top: int = -1, page: int = -1, is_paginator: bool = False, categ
             search_dict['title__contains'] = search_title
             search_dict['title__contains'] = search_title
         if search_content:
         if search_content:
             search_dict['markdown_text__contains'] = search_content
             search_dict['markdown_text__contains'] = search_content
+        if search_category:
+            search_dict['category'] = search_category
         articles = models.Article.objects.filter(**search_dict).order_by('-created_time').values(
         articles = models.Article.objects.filter(**search_dict).order_by('-created_time').values(
             'id', 'title', 'intro', 'category',
             'id', 'title', 'intro', 'category',
             'user', 'created_time', 'type',
             'user', 'created_time', 'type',
@@ -292,6 +298,8 @@ def get_article(top: int = -1, page: int = -1, is_paginator: bool = False, categ
             search_dict['title__contains'] = search_title
             search_dict['title__contains'] = search_title
         if search_content:
         if search_content:
             search_dict['markdown_text__contains'] = search_content
             search_dict['markdown_text__contains'] = search_content
+        if search_category:
+            search_dict['category'] = search_category
         articles = models.Article.objects.filter(**search_dict).order_by('-created_time').values('id', 'title',
         articles = models.Article.objects.filter(**search_dict).order_by('-created_time').values('id', 'title',
                                                                                                  'intro',
                                                                                                  'intro',
                                                                                                  'category',
                                                                                                  'category',

+ 7 - 0
templates/blog.html

@@ -203,6 +203,13 @@
             <div class="ui hidden divider"></div>
             <div class="ui hidden divider"></div>
         </div>
         </div>
         <div class="four wide right floated column">
         <div class="four wide right floated column">
+            <h4 class="ui header">搜索</h4>
+            <div id="search" class="ui category search">
+                <div class="ui icon input">
+                    <input class="prompt" type="text" placeholder="搜索">
+                    <i class="search icon"></i>
+                </div>
+            </div>
             <h4 class="ui header">归档</h4>
             <h4 class="ui header">归档</h4>
             <div class="ui list">
             <div class="ui list">
                 {% for record in records %}
                 {% for record in records %}

+ 48 - 38
templates/category.html

@@ -87,55 +87,65 @@
                     </nav>
                     </nav>
                     {% for item in articles %}
                     {% for item in articles %}
                         {% if item.status == 1 %}
                         {% if item.status == 1 %}
-                             {% if item.type == 1 %}
-                            <div class="event">
-                                <div class="label">
-                                    <img src="/user_avatar/{{ item.user_id }}">
+                            {% if item.type == 1 %}
+                                <div class="event">
+                                    <div class="label">
+                                        <img src="/user_avatar/{{ item.user_id }}">
+                                    </div>
+                                    <div class="content">
+                                        <div class="date"
+                                             style="font-size: 1.1em">{{ item.created_time | days_until }}</div>
+                                        <div class="summary"><a>
+                                            {{ item.user__first_name }}{{ item.user__last_name }}</a>
+                                            发布了{{ item.category__name }}:&nbsp;<a
+                                                    href="/article/{{ item.id }}.html">{{ item.title }}</a></div>
+                                        <div class="extra text">{{ item.intro }}
+                                            &nbsp;&nbsp;&nbsp;Tags:
+                                            {% for tag in item.tags %}
+                                                <a href="/tag/{{ tag }}?page=1"><span
+                                                        class="label label-success">{{ tag }}</span></a>
+                                            {% endfor %}</div>
+                                    </div>
                                 </div>
                                 </div>
-                                <div class="content">
-                                    <div class="date"
-                                         style="font-size: 1.1em">{{ item.created_time | days_until }}</div>
-                                    <div class="summary"><a>{{ item.user__first_name }}{{ item.user__last_name }}</a>
-                                        发布了{{ item.category__name }}:&nbsp;<a href="/article/{{ item.id }}.html">{{ item.title }}</a></div>
-                                    <div class="extra text">{{ item.intro }}
-                                        &nbsp;&nbsp;&nbsp;Tags:
-                                        {% for tag in item.tags %}
-                                            <a href="/tag/{{ tag }}?page=1"><span
-                                                    class="label label-success">{{ tag }}</span></a>
-                                        {% endfor %}</div>
-                                </div>
-                            </div>
-                        {% elif item.type == 2 %}
-                            <div class="event">
-                                <div class="label">
-                                    <img src="/user_avatar/{{ item.user_id }}">
-                                </div>
-                                <div class="content">
-                                    <div class="date"
-                                         style="font-size: 1.1em">{{ item.created_time | days_until }}</div>
-                                    <div class="summary"><a>{{ item.user__first_name }}{{ item.user__last_name }}</a>
-                                        发布了{{ item.category__name }}:&nbsp;<a href="/article/{{ item.id }}.html">{{ item.title }}</a></div>
-                                    {% autoescape off %}
-                                        <div class="extra images">
-                                            {{ item.html_text }}
-                                        </div>
-                                    {% endautoescape %}
+                            {% elif item.type == 2 %}
+                                <div class="event">
+                                    <div class="label">
+                                        <img src="/user_avatar/{{ item.user_id }}">
+                                    </div>
+                                    <div class="content">
+                                        <div class="date"
+                                             style="font-size: 1.1em">{{ item.created_time | days_until }}</div>
+                                        <div class="summary"><a>
+                                            {{ item.user__first_name }}{{ item.user__last_name }}</a>
+                                            发布了{{ item.category__name }}:&nbsp;<a
+                                                    href="/article/{{ item.id }}.html">{{ item.title }}</a></div>
+                                        {% autoescape off %}
+                                            <div class="extra images">
+                                                {{ item.html_text }}
+                                            </div>
+                                        {% endautoescape %}
+
+                                    </div>
 
 
                                 </div>
                                 </div>
-
-                            </div>
-                        {% endif %}
+                            {% endif %}
                         {% endif %}
                         {% endif %}
                     {% endfor %}
                     {% endfor %}
-
-
                 </div>
                 </div>
             </div>
             </div>
             <div class="four wide right floated column">
             <div class="four wide right floated column">
+                <h4 class="ui header">搜索</h4>
+                <div id="search" class="ui category search">
+                    <div class="ui icon input">
+                        <input class="prompt" type="text" placeholder="搜索">
+                        <i class="search icon"></i>
+                    </div>
+                </div>
                 <h4 class="ui header">归档</h4>
                 <h4 class="ui header">归档</h4>
                 <div class="ui list">
                 <div class="ui list">
                     {% for record in records %}
                     {% for record in records %}
-                        <a class="item" href="/date/{{ record.datetime }}?page=1">{{ record.datetime }} ({{ record.count }})</a>
+                        <a class="item" href="/date/{{ record.datetime }}?page=1">{{ record.datetime }}
+                            ({{ record.count }})</a>
                     {% endfor %}
                     {% endfor %}
 
 
                 </div>
                 </div>

+ 0 - 1
templates/index.html

@@ -80,7 +80,6 @@
             </div>
             </div>
 
 
             <div class="four wide right floated column">
             <div class="four wide right floated column">
-
                 <h4 class="ui header">搜索</h4>
                 <h4 class="ui header">搜索</h4>
                 <div id="search" class="ui category search">
                 <div id="search" class="ui category search">
                     <div class="ui icon input">
                     <div class="ui icon input">

+ 10 - 1
templates/management/_common/base.html

@@ -1,5 +1,5 @@
 {% load static %}
 {% load static %}
-    {% load avatar_tags %}
+{% load avatar_tags %}
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
@@ -121,6 +121,13 @@
             </div>
             </div>
         </div>
         </div>
         <div class="ui vertical borderless inverted fluid menu">
         <div class="ui vertical borderless inverted fluid menu">
+            <a href="{% url '' %}" class="item"><i class="home icon"></i>Dashboard</a>
+            <a href="{% url 'article_new' %}" class="item"><i class="pencil icon"></i>新建文章</a>
+            <a href="{% url 'admin_article' %}" class="item"><i class="file alternate icon"></i>文章管理</a>
+            <a href="{% url 'admin_category' %}" class="item"><i class="th list icon"></i>分类管理</a>
+            <a href="{% url 'admin_tags' %}" class="item"><i class="linkify icon"></i>标签管理</a>
+            <a href="{% url 'admin_files' %}" class="item"><i class="file icon"></i>文件管理</a>
+            <a href="{% url 'admin_draft' %}" class="item"><i class="trash icon"></i>草稿箱</a>
             <a class="item" href="/admin">切换</a>
             <a class="item" href="/admin">切换</a>
             <a class="item" href="/logout">logout</a>
             <a class="item" href="/logout">logout</a>
         </div>
         </div>
@@ -157,6 +164,8 @@
 <script type="application/javascript" src="{% static 'js/jquery.min.js' %}"></script>
 <script type="application/javascript" src="{% static 'js/jquery.min.js' %}"></script>
 <script type="application/javascript" src="{% static 'semantic.js' %}"></script>
 <script type="application/javascript" src="{% static 'semantic.js' %}"></script>
 <script>
 <script>
+    $(".ui.dropdown").dropdown();
+
     $("#sidebar a").each(function () {
     $("#sidebar a").each(function () {
         if (location.href.split('?')[0] == this.href) {
         if (location.href.split('?')[0] == this.href) {
             $(this).addClass('active')
             $(this).addClass('active')

+ 8 - 1
templates/management/article/article.html

@@ -6,7 +6,12 @@
         <div style="padding: 0" class="ui input">
         <div style="padding: 0" class="ui input">
             <input name="search_title" type="text" style="margin-right: 5px" placeholder="标题">
             <input name="search_title" type="text" style="margin-right: 5px" placeholder="标题">
             <input name='search_content' type="text" style="margin-right: 5px" placeholder="内容">
             <input name='search_content' type="text" style="margin-right: 5px" placeholder="内容">
-            <button type="submit" class="ui button primary"><i class="search icon"></i>搜索</button>
+            <select name="search_category"  class="ui dropdown">
+                {% for item in category %}
+                    <option value="{{ item.id }}">{{ item.name }}</option>
+                {% endfor %}
+            </select>
+            <button style="margin-left: 5px" type="submit" class="ui button primary"><i class="search icon"></i>搜索</button>
             <a href="/management/article" type="reset" class="ui button secondary"><i class="refresh icon"></i>重置</a>
             <a href="/management/article" type="reset" class="ui button secondary"><i class="refresh icon"></i>重置</a>
         </div>
         </div>
     </form>
     </form>
@@ -95,6 +100,8 @@
 {% endblock %}
 {% endblock %}
 {% block js %}
 {% block js %}
     <script>
     <script>
+
+
         function deleteConfirm(id) {
         function deleteConfirm(id) {
             $('.mini.modal')
             $('.mini.modal')
                 .modal('show')
                 .modal('show')

+ 6 - 1
templates/management/article/draft.html

@@ -6,7 +6,12 @@
         <div style="padding: 0" class="ui input">
         <div style="padding: 0" class="ui input">
             <input name="search_title" type="text" style="margin-right: 5px" placeholder="标题">
             <input name="search_title" type="text" style="margin-right: 5px" placeholder="标题">
             <input name='search_content' type="text" style="margin-right: 5px" placeholder="内容">
             <input name='search_content' type="text" style="margin-right: 5px" placeholder="内容">
-            <button type="submit" class="ui button primary"><i class="search icon"></i>搜索</button>
+            <select name="search_category"  class="ui dropdown">
+                {% for item in category %}
+                    <option value="{{ item.id }}">{{ item.name }}</option>
+                {% endfor %}
+            </select>
+            <button style="margin-left: 5px" type="submit" class="ui button primary"><i class="search icon"></i>搜索</button>
             <a href="/management/draft" type="reset" class="ui button secondary"><i class="refresh icon"></i>重置</a>
             <a href="/management/draft" type="reset" class="ui button secondary"><i class="refresh icon"></i>重置</a>
         </div>
         </div>
     </form>
     </form>