django如何在泛型类中添加额外参数

django如何在泛型类中添加额外参数,django,Django,不久前,我制作了一个简单的博客应用程序,每篇文章都有评论功能。一切正常。以下是我的模型、URL、视图和模板: # model: class Article(models.Model): ...... def get_absolute_url(self): return reverse('blog:article_detail', kwargs={'slug': self.slug}) # app/urls: url(r'^article/(?P<slug>[-\w]+)/$

不久前,我制作了一个简单的博客应用程序,每篇文章都有评论功能。一切正常。以下是我的模型、URL、视图和模板:

# model:
class Article(models.Model):
......
def get_absolute_url(self):
    return reverse('blog:article_detail', kwargs={'slug': self.slug})

# app/urls:
url(r'^article/(?P<slug>[-\w]+)/$', views.ArticleDetail.as_view(),name='article_detail'), 
url(r'^article/(?P<slug>[-\w]+)/comment/$',views.BlogCommentCreate.as_view(), name='blog_comment'),         

# views:        
class BlogCommentCreate(LoginRequiredMixin, CreateView):    
......
def get_context_data(self, **kwargs):  
    context = super(BlogCommentCreate, self).get_context_data(**kwargs)
    context['article'] = get_object_or_404(Article, slug=self.kwargs['slug'])
    return context

def form_valid(self, form):
    form.instance.user = self.request.user
    form.instance.article = get_object_or_404(Article, slug=self.kwargs['slug'])      
    return super(BlogCommentCreate, self).form_valid(form)        

# template        
<a href="{% url 'blog:blog_comment' article.slug %}">Add a new comment</a></p> 
#型号:
类文章(models.Model):
......
def get_绝对_url(自身):
返回反向('blog:article_detail',kwargs={'slug':self.slug})
#应用程序/网址:
url(r'^article/(?P[-\w]+)/$,views.articledealture.as_view(),name='article_detail'),
url(r'^article/(?P[-\w]+)/comment/$,views.blogcomentcreate.as_view(),name='blog_comment'),
#观点:
类BlogCommentCreate(LoginRequiredMixin,CreateView):
......
def获取上下文数据(自身,**kwargs):
context=super(blogcomentcreate,self)。获取上下文数据(**kwargs)
context['article']=get_object_或_404(article,slug=self.kwargs['slug'])
返回上下文
def表单_有效(自身、表单):
form.instance.user=self.request.user
form.instance.article=get_object_或_404(article,slug=self.kwargs['slug'])
返回super(blogcomentcreate,self).form\u有效(form)
#模板

但当我将它们修改为此时,因为我想要我文章的完整URL:

# models:
def get_absolute_url(self):

return reverse('blog:article_detail',
    kwargs={
       'year': self.date_created.strftime('%Y'),
       'month': self.date_created.strftime('%m'),
       'day': self.date_created.strftime('%d'),
       'slug': self.slug})

# urls:           
url(r'^article/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',views.ArticleDetail.as_view(), name='article_detail'),
url(r'^article/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[-\w]+)/comment/$',views.BlogCommentCreate.as_view(), name='blog_comment'),
#型号:
def get_绝对_url(自身):
返回反向('blog:article_detail',
夸尔斯={
“年”:self.date\u created.strftime(“%Y”),
“月”:self.date\u created.strftime(“%m”),
“天”:self.date\u created.strftime(“%d”),
“slug”:self.slug})
#网址:
url(r'^article/(?P\d{4})/(?P\d{2})/(?P\d{2})/(?P[-\w]+)/$,views.articledeail.as_view(),name='article_detail'),
url(r'^article/(?P\d{4})/(?P\d{2})/(?P\d{2})/(?P[-\w]+)/comment/$,views.blogcomentcreate.as_view(),name='blog_comment'),
出现错误:

NoReverseMatch at /blog/article/generating-dummy-post/comment/ Reverse for 'article_detail' with arguments '('generating-dummy-post',)' not found. 1 pattern(s) tried: ['blog/article/(?P\\d{4})/(?P\\d{2})/(?P\\d{2})/(?P[-\\w]+)/$'] NoReverseMatch位于/blog/article/生成虚拟帖子/评论/ 未找到带参数“(“generating-dummy-post”)”的“article_detail”的反面。 尝试了1种模式:[“blog/article/(?P\\d{4})/(?P\\d{2})/(?P\\d{2})/(?P[-\\w]+)/$”]
如何将文章上下文中的这些(年、月、日)额外参数添加到视图和模板中

如何以及在何处使用模板中的
get_absolute\u url
?现在对url模板标记的调用是什么样子的?这可能就是问题所在。当我调用此{%url'blog:blog_comment'article.slug%}时出现错误