首页 > 解决方案 > 带有模板的 Django 通用视图

问题描述

我在我的项目中添加了一个新模板(thing_listings.html),并添加了视图;

from django.views import generic
from .models import Things

class IndexView(generic.ListView):
    template_name = 'home/index.html'

    def get_queryset(self):
        return Things.objects.all()

**class ThingView(generic.ListView):
    template_name = 'home/thing_listings.html'

    def get_queryset(self):
        return Things.objects.all()**

class DetailView(generic.DetailView):
    model = Labs
    template_name = 'home/detail.html'

和 URL;

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

app_name = 'home'

urlpatterns = [
    # /home/
    url(r'^$', views.IndexView.as_view(), name = 'index'),
    **# /thingview/
    url(r'^$', views.ThingView.as_view(), name='thingview'),**
    # /home/"details"/
    url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
]

目前该站点运行良好,除非我单击 thing_listings 链接时,我只是被定向到索引而不是应该将我定向到的事物视图。请帮忙,我不确定我哪里出错了。

我使用了 href: {% url 'home:thingview' %}

标签: django-templatesdjango-views

解决方案


如果其他人遇到同样的问题,我已经找到了解决方案。

您需要做的就是将路径添加到正则表达式,例如:

url(r'^servicesview/$', views.ServicesView.as_view(), name='services'),

我已经多次重复该过程以确保它有效。


推荐阅读