如何将表单添加到博客文章的详细信息中



所以我有一个小的django博客项目。我已经成功地建立了一个博客文章的视图和博客文章的详细视图。但我想在帖子详细信息页面中添加一个小表单;所以,每当你添加一个新的帖子时,就会在详细信息页面中制作一个新表单。我知道如何制作表单。请帮我输入代码

创建对象后,您可以覆盖ModelAdmin.get_form()ModelAdmin.get_fields()并返回不同的字段集

from django import forms
from django.contrib import admin
from django.db import models
class Blog(models.Model):
name = models.CharField(max_length=10)
description = models.CharField(max_length=10)
class CustomBlogForm(forms.ModelForm):
# Note that this is a custom field, not in the Blog Model
additional_field = models.CharField()
class Meta:
model = Blog
fields = ['name', 'description', 'additional_field']
class BlogAdmin(admin.ModelAdmin):
def get_fields(self, request, obj=None):
if obj and obj.pk:
return ['name', 'description', 'additional_field']
return ['name']   
def get_form(self, request, obj, **kwargs):
if obj and obj.pk:
return CustomBlogForm
return super().get_form(request, obj, **kwargs) 

admin.site.register(Blog, BlogAdmin)

https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_formhttps://docs.djangoproject.com/en/3.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_fields

相关内容

最新更新