2016-03-23 44 views
0

现在我有6个按钮,每个人都会重定向到包含课程页面, 这种方法对于一个按钮,如何重定向到不同的页面与一个视图

Views.py

def categories_pages(request): 
    if request.user.is_authenticated(): 
     courses = Course.objects.filter(
      published_date__lte=timezone.now(), 
      categories__name__icontains="IT" 
     ).order_by('published_date') 
     context = { 
      "courses": courses 
     } 
     return render(request, 'categories/categories-page.html', context) 

模板

{% for instances in courses %} 
     <div class="col-sm-6 col-md-4"> 
     <div class="thumbnail"> 
      <img src="{{ instances.img }}" alt="{{ instances.name }}"> 
      <div class="caption"> 
      <h3>{{ instances.name }}</h3> 
      <p>{{ instances.description }}</p> 
      <p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p> 
      </div> 
     </div> 
    {% endfor %} 

此按钮IT课程,何谈业务,语言等。 和它的工作很好,但我必须做出不同的看法,每b utton和所有都有相同的语法或有另一种方式使它在同一视图? 感谢

回答

1

您需要定义您的网址有类别作为命名的参数,所以你的观点将采取额外的参数和查询过程:

网址:

url(r'^categories/(?P<course_name>\w+)/$', views.categories_pages) 

意见。 py

def categories_pages(request, course_name): 
    if request.user.is_authenticated(): 
     courses = Course.objects.filter(
      published_date__lte=timezone.now(), 
      categories__name__icontains=course_name 
     ).order_by('published_date') 
     context = { 
      "courses": courses 
     } 
     return render(request, 'categories/categories-page.html', context) 
相关问题