【发布时间】:2017-01-21 18:19:46
【问题描述】:
我正在尝试使用此链接<a href="Annotation/{{ vod.id }}"> 根据视频的主键在我的网站中加载另一个页面。我的url文件如下:
urlpatterns = [
url(r'^$', ListView.as_view(queryset=Vod.objects.all().order_by("-date")[:25], template_name="Annotation/home.html")),
url(r'^(?P<pk>\d+)$', ListView.as_view(queryset=Vod.objects.get(pk=1).posts.all().order_by("-date"), template_name="Annotation/post.html")),
]
我从使用上述链接生成的链接中获得标准 404。
谢谢!
编辑:添加了基本 URL
url(r'^admin/', admin.site.urls),
url(r'^Annotation', include('Annotation.urls')),
url(r'^Profile', include('Profile.urls')),
这是 Profile.urls 的 URL
url(r'^$', views.index, name='index'),
edit2:更改了 URL 并添加了我正在尝试使用的视图。
url(r'^(?P<key>[0-9]+)$', views.post, name="post")
这是views.post
def post(request, key):
try:
target_vod = Vod.objects.get(pk=key)
except Target.DoesNotExist:
raise Http404("Vod does not exist")
target_posts = Vod.objects.get(pk=key).posts.all().order_by("-date")
context = {'target_vod': target_vod, 'target_posts': target_posts}
return render(request, 'Annotation/post.html', context)
【问题讨论】:
-
请在包含这些 URL 的位置包含基本 urls.py。查看 URL 的堆叠方式很重要。
-
Annotation/id != /id,应该怎么匹配? -
好的,我也添加了基本 URL
标签: django django-urls