1,空格格式

    PS:记住后面要加上;

2,文件样式图标

<span class="glyphicon glyphicon-comment"></span>   #直接用class接收

django-博客园首页-实现二级菜单的跳转

 


 

 

 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页面的时候,当你是二级菜单
点击进来他的文章对象就会发生改变.