2016-08-01 8 views
1

in meinem blog-projekt mit django möchte ich eine seite wie category.html haben, um alle kategorien anzuzeigen, und als ich auf den link einer kategorie geklickt habe, zeigt es die artikel des Kategorie, genau so: http:xxx/category alle Kategorien anzeigen, die ich habe, und http:xxx/category/django alle artical django anzeigendjango web-project mit kategorie

wie vorgehen?

class CategoryView(ListView): 
    template_name = "index.html" 
    context_object_name = "article_list" 

    def get_queryset(self): 
     article_list = Post.objects.filter(category=self.kwargs['id']) 
     return article_list 

    def get_context_data(self, **kwargs): 
     kwargs['category_list'] = Category.objects.all().order_by('cate_name') 
     return super(CategoryView, self).get_context_data(**kwargs) 

Antwort

0

können Sie eine andere App namens Kategorien machen, dann können Sie alle relativ zu ihnen zeigen, wie erstellen, bearbeiten, löschen Kategorien, können Sie auch alle Kategorien aufzulisten, die Sie haben, das ist bis zu Ihnen,

in der uRL-Datei müssen Sie die Route zum Beispiel Karte:

def list(request): 

    cat_list = Category.objects.all() 

    return render(request, 'category/category_list.html',{ 'cat_list': cat_list }) 
:

from django.conf.urls import include, url 
from . import views 

urlpatterns = [ 

    #rutas for category app 
    url(r'^$', views.list , name="input_list"), 

    url(r'^add/$', views.add, name="input_add"), 

    url(r'^edit/(?P<in_id>[0-9]+)$', views.input_update , name="input_update"), 

] 

die Ihre Ansicht Datei so etwas wie sein

. . . ein so weiter für die anderen Abschnitte der Kategorie app

natürlich vor Thar Sie die URL aus Ihrem Projekt zu Ihrer App zur Karte haben und alle Dateien im Template-Verzeichnis haben (alle HTML-Dateien, die Sie benötigen)