django-博客园首页-实现二级菜单的跳转
Posted forjie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-博客园首页-实现二级菜单的跳转相关的知识,希望对你有一定的参考价值。
1,空格格式
PS:记住后面要加上;
2,文件样式图标
<span class="glyphicon glyphicon-comment"></span> #直接用class接收
4,重点:在不增加html页面的情况下,实现二级菜单跳转
想法:在html页面中的 a标签跳转到一个新的url,把html需要的数据,传入url里面,视图函数再从其中拿值,最后通过该值进行操作.
第一步:在html页面中,写好跳转html {% for sitearticlecategory in cate.sitearticlecategory_set.all %} <p><a href="/cate/{{ sitearticlecategory.name }}">{{ sitearticlecategory.name }}</a></p> #/cate/{{ sitearticlecategory.name }}作为跳转的一个路径 {% endfor %}
第二部:在url路由中
url(r\'^cate/(?P<netgate>.*)/$\', views.index), #把上面href的cate/后面的参数传入url中.
第三部:
def index(request,*args,**kwargs):
#现在当用户点击二级菜单,就直接跳转到当前类型页面
if kwargs: #从url传进的数据,是一个字典,当字典里面有值时, 这里就是从书籍正向查找,如果从url传进的数据中匹配到,则返回article_list.
article_list=models.Article.objects.filter(inner_netcategory__title=kwargs.get(\'netgate\'))
else:
article_list = models.Article.objects.all() #当kwargs没有值,则表示用户是直接进入url,而不是从前端html页面点击过来的.
netgate = models.NetCategory.objects.all() #这里表示的是一级菜单
return render(request,\'index.html\',{\'netgate\':netgate,\'article_list\':article_list}) #article_list传回到html页面的时候,当你是二级菜单
点击进来他的文章对象就会发生改变.
以上是关于django-博客园首页-实现二级菜单的跳转的主要内容,如果未能解决你的问题,请参考以下文章