python - 如何将数据库查询集对象从基于类的视图(类 SignUp(generic.CreateView))传递到 Django 中的模板
问题描述
视图.py
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views import generic
from .forms import CustomUserCreationForm
class SignUp(generic.CreateView):
form_class = CustomUserCreationForm
success_url = reverse_lazy('login')
template_name = 'signup.html'
网址.py
urlpatterns = [
url(r'signup/', views.SignUp.as_view(), name='signup'),
url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
]
我使用 django 自定义用户创建方法来注册用户,它工作正常。但是如何在我的类 SignUp 中将对象传递给模板。我是基于类的视图的新手。请帮我。
解决方案
要传递上下文,您可以编写
context_object_name = 'username'
现在想想你正在制作一个待办事项应用程序并希望按照他们的要求打印任务然后你可以在基于类的视图中执行以下操作,
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['tasks'] = context['tasks'].filter(user=self.request.user)
context['count'] = context['tasks'].count()
这样,您可以在基于类的视图中编写数据库查询集。
如果您想要一个完美的指南或源代码来学习 django 身份验证,即登录和注销用户功能,我建议您阅读本教程,这是一个待办事项列表应用程序,可以解决您的疑问
在基于类的视图中使用 django 身份验证和查询集列出待办事项
上面的源代码在这里:
推荐阅读
- service-worker - 如何让服务人员缓存下一页?
- laravel - 为什么在代客运行时laravel安装程序不起作用
- oozie - 如何从其中一项操作中找到 oozie 工作 ID - 应用程序 ID?
- azure - CA API 网关迁移到 Azure API 网关
- mountebank - mountebank如何将2个冒名顶替者合并到一个文件中
- c - 访问位于另一个指针结构中的指针结构中的成员的问题
- django - Django url 的优先级
- docker - 丢失最近添加的管理器后,Docker swarm 不会重新启动
- elasticsearch - 术语聚合java api的分页
- c# - 获取实现接口的类