Django 在';添加或编辑';?
我有一个典型的django视图设置,用于添加新的或编辑当前的“book”模型(通过表单)。这是一种性质:Django 在';添加或编辑';?,django,forms,permissions,decorator,django-guardian,Django,Forms,Permissions,Decorator,Django Guardian,我有一个典型的django视图设置,用于添加新的或编辑当前的“book”模型(通过表单)。这是一种性质: def bookedit(request, bookid=None): if bookid: book = get_object_or_404(Book, pk=bookid) else: book = Book() if request.method == 'POST': <form handling cod
def bookedit(request, bookid=None):
if bookid:
book = get_object_or_404(Book, pk=bookid)
else:
book = Book()
if request.method == 'POST':
<form handling code.....>
这在编辑已经创建的书籍的场景中可以正常工作,即,如果用户不是创建者,将抛出403。但是,在添加新书时,bookid是空的,并且会导致decorator代码崩溃。是否有一种处理此场景的好方法(不分离编辑和添加功能)
谢谢,
格里对不起,这是不可能的。django guardian不是为该请求构建的。无论如何,我建议自己创建所有CRUD视图(创建、读取、更新、删除)。很抱歉,这是不可能的。django guardian不是为该请求构建的。无论如何,我建议自己创建所有CRUD视图(创建、读取、更新、删除)。嗨。谢谢我刚刚分离出我的添加和编辑视图,一切正常。我想如果可能的话,我最好先检查一下。
@permission_required_or_403('myapp.edit_book', (Book, 'id', 'bookid'))