ListView
ListView用于显示一个对象列表。在类视图中,你可以指定模型和模板,它将自动查询模型中的所有对象并将它们传递给模板。
from django.views.generic import ListView
from .models import YourModel
class YourModelListView(ListView):
model = YourModel
template_name = 'your_model_list.html'
context_object_name = 'object_list'
DetailView
DetailView用于显示单个对象的详细信息。你需要指定模型、模板和用于查找对象的主键字段。
from django.views.generic import DetailView
from .models import YourModel
class YourModelDetailView(DetailView):
model = YourModel
template_name = 'your_model_detail.html'
context_object_name = 'object'
CreateView
CreateView用于处理创建新对象的请求。你需要指定模型、模板和成功创建后重定向的URL。
from django.views.generic.edit import CreateView
from .models import YourModel
class YourModelCreateView(CreateView):
model = YourModel
template_name = 'your_model_form.html'
fields = '__all__' # 或者指定你想要包含的字段
success_url = '/success/' # 成功创建后重定向的URL
UpdateView
UpdateView用于处理更新现有对象的请求。你需要指定模型、模板、成功更新后重定向的URL以及用于查找对象的主键字段。
from django.views.generic.edit import UpdateView
from .models import YourModel
class YourModelUpdateView(UpdateView):
model = YourModel
template_name = 'your_model_form.html'
fields = '__all__' # 或者指定你想要包含的字段
success_url = '/success/' # 成功更新后重定向的URL
DeleteView
DeleteView用于处理删除对象的请求。你需要指定模型、模板、成功删除后重定向的URL以及用于查找对象的主键字段。
from django.views.generic.edit import DeleteView
from .models import YourModel
class YourModelDeleteView(DeleteView):
model = YourModel
template_name = 'your_model_confirm_delete.html'
success_url = '/success/' # 成功删除后重定向的URL
以上只是一些常见的内置基于类的通用视图。你可以根据实际需求定制和配置这些视图。确保查阅Django 4.0的官方文档以获取最新的信息和更高级的用法。
转载请注明出处:http://www.zyzy.cn/article/detail/7250/Django