如何将模板视图和slug定义添加到一个视图中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将模板视图和slug定义添加到一个视图中?相关的知识,希望对你有一定的参考价值。

所以我正在研究一些Django但对它有点新意。我有这段代码:

from django.shortcuts import render, render_to_response, get_object_or_404
from .models import Article
from django.views.generic import TemplateView

def view_post(request, slug):
    return render_to_response('news/article.html', {'post': get_object_or_404(Article, slug=slug)})

class ArticleView(TemplateView):
    template_name = "news/article.html"
    def get(self, request):
        article = Article.objects.all()
        return render(request, self.template_name ,{'article': article })

如何将其写入一个视图,以便我可以在我的urls.py中使用它?

现在这是我的urls.py:

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

urlpatterns = [
    url(r'^blog/view/(?P<slug>[^\.]+)', view_post , name='view_blog_post'),
]

我怎样才能将它们一起添加?因为我也希望变量在我的模板中可用。

答案

我想这就是你想要的。

class ArticleView(DetailView):
    query_pk_and_slug = 'slug'
    template_name = 'news/article.html'
    context_object_name = 'post'
    model = Article

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['article'] = Article.objects.all()
        return context

以上是关于如何将模板视图和slug定义添加到一个视图中?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将 UISegmentedControl 添加到容器视图

如何根据 Django 中当前基于类的通用视图模型向模板加载器添加路径

如何使用自定义适配器将整数添加到列表视图

如何将自定义视图添加到 JSQMessagesViewController 单元格,以便它包含一个带有一些按钮和文本视图的视图?

如何在每个控制器中不重复代码的情况下将模型传递给我的主视图模板?

如何在C#后面的代码中动态创建数据模板并绑定树视图层次结构数据