URL配置
from django.conf.urls import url,include from django.contrib import admin from blogCMS import settings from django.views.static import serve from blog import views from blog import urls urlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘^index/?(.*)‘,views.index), ]
视图处理相关
def index(request,*args,**kwargs): print(kwargs) if kwargs: article_list = models.Article.objects.filter(site_article_category__name=kwargs.get("site_article_category")) print("=====>",article_list) else: article_list = models.Article.objects.all() cate_list = models.SiteCategory.objects.all() # 分页相关 paginator = Paginator(article_list, 3) page_range = paginator.page_range num = request.GET.get("page", 1) article_list = paginator.page(num) return render(request,"index.html",locals())
前端页面展示相关
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Title</title> <script src="/static/jquery/jquery-3.2.1.min.js"></script> <script src="/static/jquery/jquery.cookie.js"></script> <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"> <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script> {# JavaScript导入的时候用script,css导入用link#} </head> <body> {#导航条部分#} <nav class="navbar navbar-inverse"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="#"><span class="glyphicon glyphicon-home">博客园</span></a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> {% if request.user.is_authenticated %} <li><a href="">当前用户<span class="glyphicon glyphicon-user"></span>:{{ request.user.username }}</a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="/log_out/"><span class="glyphicon glyphicon-off"></span>注销</a></li> <li><a href="#"><span class="glyphicon glyphicon-repeat"></span>修改密码</a></li> <li><a href="#"><span class="glyphicon glyphicon-tint"></span>帮助</a></li> <li><a href="#"><span class="glyphicon glyphicon-question-sign"></span>更多</a></li> <li role="separator" class="divider"></li> <li><a href="#"><span class="glyphicon glyphicon-menu-hamburger"></span>关于</a></li> <li role="separator" class="divider"></li> <li><a href="#">One more separated link</a></li> </ul> </li> {% else %} <li><a href="/login/"><span class="glyphicon glyphicon-user"></span>登录</a></li> <li><a href="/reg/"><span class="glyphicon glyphicon-user"></span>注册</a></li> {% endif %} </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> {#网站主体部分#} <div class="container"> <div class="row"> <div class="col-md-2"> {# 左侧菜单列表#} <div class="panel panel-default"> <div class="panel-heading">网站导航分类</div> <div class="panel-body"> {% for cate in cate_list %} <div class="panel panel-default"> <div class="panel-body cate_title">{{ cate.name }}</div> <div class="panel-footer hide sub"> {% for sitearticlecategory in cate.sitearticlecategory_set.all %} <p><a href="/cate/{{ sitearticlecategory.name }}">{{ sitearticlecategory.name }}</a> </p> {% endfor %} </div> </div> {% endfor %} </div> </div> </div> <div class="col-md-7"> <div class="panel panel-primary"> <div class="panel-heading">博客园主页文章显示</div> <div class="panel-body"> {# 中间内容区域#} {% for article in article_list %} <div class="article_item"> <div class="title"><a href="/blog/{{ article.user.username }}/article/{{ article.nid }}"><h4>{{ article.title }}</h4></a></div> <div class="row"> <div class="avatar col-md-2"> <a href="{% url ‘blog‘ article.user.username %}"> <img src="{{ article.user.avatar.url }}" width="70" height="70" alt=""> </a> </div> <div class="col-md-10"> <p>{{ article.desc }}</p> </div> </div> <div class="pub_info row"> <a href="/blog/{{ article.user.username }}">{{ article.user.username }} </a>发布于:{{ article.create_time }} <a href=""><span class="glyphicon glyphicon-comment"></span>评论{{ article.comment_count }} </a> <a href=""><span class="glyphicon glyphicon-thumbs-up"></span>点赞{{ article.up_count }} </a> <a href=""><span class="glyphicon glyphicon-share-alt">转发</span></a> </div> </div> <hr> {% endfor %} </div> </div> <div class="page_page" style="text-align: center"> {% block page %} <nav aria-label="Page navigation"> <ul class="pagination"> {% if article_list.has_previous %} <li><a href="/index?page={{ article_list.previous_page_number }}" aria-label="Previous">上一页</a> </li> {% else %} <li class="disabled"><a href="" aria-label="Previous">上一页</a></li> {% endif %} {% for index in page_range %} {% if num == index %} <li class="active"><a href="/index?page={{ index }}">{{ index }}</a></li> {% else %} <li><a href="/index?page={{ index }}">{{ index }}</a></li> {% endif %} {% endfor %} {% if article_list.has_next %} <li><a href="/index?page={{ article_list.next_page_number }}" aria-label="Previous">下一页</a></li> {% else %} <li class="disabled"><a href="" aria-label="Previous">下一页</a></li> {% endif %} </ul> </nav> {% endblock %} </div> </div> <div class="col-md-3"> {# 右侧分类展示#} <div class="panel panel-default"> <div class="panel-heading">广告位</div> <div class="panel-body"> <p>澳门巴黎人</p> <p>开局一把刀</p> <p>一刀九九九</p> <p>装备全靠捡</p> </div> </div> <div class="panel panel-default"> <div class="panel-heading">备用标题二</div> <div class="panel-body"> <p>内容一</p> <p>内容二</p> <p>内容三</p> <p>内容四</p> </div> </div> </div> </div> </div> <script> $(".cate_title").click(function () { {#点击当前的#} $(".sub").addClass("hide"); {#子菜单添加隐藏属性#} $(this).next().toggleClass("hide"); {#有的话添加,没有的话去掉#} }); </script> </body> </html>