Django 在呈现之前,将表单“作者”字段设置为登录用户
我想将表单“author”字段models.ForeignKeyUser的默认值设置为当前登录的用户。我希望在保存条目之前执行此操作,以便在创建条目时,用户不必为表单验证而选择自己 我尝试在form init函数中设置值,但是没有对请求对象的引用,所以看起来不可能Django 在呈现之前,将表单“作者”字段设置为登录用户,django,Django,我想将表单“author”字段models.ForeignKeyUser的默认值设置为当前登录的用户。我希望在保存条目之前执行此操作,以便在创建条目时,用户不必为表单验证而选择自己 我尝试在form init函数中设置值,但是没有对请求对象的引用,所以看起来不可能 我没有为此应用程序使用django管理面板。在视图中处理表单时,可以设置author属性。请注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段: def submit_form(request)
我没有为此应用程序使用django管理面板。在视图中处理表单时,可以设置author属性。请注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段:
def submit_form(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
submission = form.save(commit=False)
submission.author = request.user
submission.save()
return http.HttpResponseRedirect('submitted/')
else:
form = MyForm()
context = Context({'title': 'Submit Form', 'form': form, 'user': request.user})
return render_to_response('form.html', context)
在视图中处理表单时,可以设置author属性注意,在我的示例中,“MyForm”类是一个模型表单,我从表单中排除了“author”字段:
def submit_form(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
submission = form.save(commit=False)
submission.author = request.user
submission.save()
return http.HttpResponseRedirect('submitted/')
else:
form = MyForm()
context = Context({'title': 'Submit Form', 'form': form, 'user': request.user})
return render_to_response('form.html', context)
为我工作,默认情况下:
这将在“作者”下拉列表中为未绑定表单设置初始值,用户仍可以在编辑时对其进行更改 为我工作,默认情况下:
这将在“作者”下拉列表中为未绑定表单设置初始值,用户仍可以在编辑时对其进行更改 似乎不起作用,我尝试了form=EntryForminitial={'author':request.user.username}和form=EntryForminitial={'author':request.user}似乎不起作用,我尝试了form=EntryForminitial={'author':request.user.username}和form=EntryForminitial={'author':request.user}