反转“ news_tag”,未找到任何参数。尝试了1个模式:['新闻/标签/(?P <标签名称> [^ /] +)/ $']

时间:2019-11-29 15:18:50

标签: python django model

我的网址。我必须将标签加载到新的url中,但最终出现此错误

from django.urls import path
from news import views
urlpatterns =[
path('create/',views.CreateNewsView.as_view(),name='create_news'),
path('<str:category>/',views.NewsCategoryView.as_view(),name='category_news'),
path('<str:category>/<int:pk>/<str:slug>/',views.NewsDetailView.as_view(),name='detail_news'),
path('tags/<str:tag_name>/',views.view_tag ,name='news_tag'),
path('<str:category>/<int:pk>/<str:slug>/comment/',views.create_comment,name='create_comment'),

path('<str:category>/<int:pk>/<str:slug>/delete/',views.NewsDeleteView.as_view(),name='delete_news'),
path('<str:category>/<int:pk>/<str:slug>/update/',views.NewsUpdateView.as_view(),name='update_news'),
     ]

我的观点:该观点是要从标签中加载到我的新闻中

def view_tag(request,tag_name):
    tag= Tag.objects.get(pk=tag_name)  
    news= tag.page_set.all()
    return render(request,'news/tags.html',{"tag_name":tag_name,'news':news})  

我的模型:我已经创建了没有Taggable Manager()创建标签的模型

class Tag(models.Model):
name = models.CharField(max_length=30)

def __str__(self):
    return self.name


class News(models.Model):
CATEGORY=(("0","Politics"),("1","Sports"),("2","Health"),("3","Business"),("4","International"),("5","Finance"))
title=models.CharField(max_length=250)
story= models.TextField()
count= models.IntegerField(default=0)
tags = models.ManyToManyField(Tag)
video_url = models.URLField(max_length=270, null=True)  #makemigrations garna baki xa
category= models.CharField(choices=CATEGORY, max_length=2)
slug=models.SlugField(max_length=270,blank=True,null=True)
created_at=models.DateTimeField(auto_now_add=True)
updated_at=models.DateTimeField(auto_now=True)
cover_image=models.ImageField(upload_to="uploads")
author= models.ForeignKey(User, on_delete=models.SET_NULL,null=True)
video_image = models.ImageField(null=True)

0 个答案:

没有答案