Django 我想在视图中执行与admin.register decorator在admin中相同的操作
我想能够注册从一个单一的前视图不同的模型,因为我可以从管理创建视图 例如,在models.py中:Django 我想在视图中执行与admin.register decorator在admin中相同的操作,django,django-views,Django,Django Views,我想能够注册从一个单一的前视图不同的模型,因为我可以从管理创建视图 例如,在models.py中: class Book(models.Model): """Model representing a book (but not a specific copy of a book).""" title = models.CharField(max_length=200) author = models.ForeignKey('Author', on_delete=models.S
class Book(models.Model):
"""Model representing a book (but not a specific copy of a book)."""
title = models.CharField(max_length=200)
author = models.ForeignKey('Author', on_delete=models.SET_NULL,
null=True)
在admin.py中,我有:
@admin.register(Author)
class AuthorAdmin(admin.ModelAdmin):
我希望能够以同样的方式在前端的CreateBook视图中添加作者,感谢您的帮助
为此,请在forms.py
设置在url.py中添加书籍的url
In views.py
add_book.html
class AddBook(forms.ModelForm):
class Meta:
model = Book
fields = ['title','author']
path('add/book/',views.add_book,name='add_book')
def add_book(request):
if request.method == POST:
form = AddBook(request.POST)
if form.is_valid():
book = form.save(commit=False)
book.save()
return redirect('redirect where you want to redirect')
else:
form = AddBook()
return render (request,'add_book.html',{'form':form})
<form action= '{% url 'add_book' %} method='post'>
{% csrf_token %}
{{ form.as_p }}
<button type = 'submit'>Submit</button>
</form>