【发布时间】:2016-06-07 08:15:21
【问题描述】:
这是我的代码:
from .forms import ImageCreateForm
@login_required
def image_create(request):
"""
View for creating an Image using the JavaScript Bookmarklet.
"""
if request.method == 'POST':
# form is sent
# ######## here is my issue ####################
form = ImageCreateForm(data=request.POST)
# ######## end of my issue ####################
if form.is_valid():
......
# redirect to new created item detail view
return redirect(new_item.get_absolute_url())
else:
# build form with data provided by the bookmarklet via GET
form = ImageCreateForm(data=request.GET)
return render(request, 'images/image/create.html', {'section': 'images', 'form': form})
这段代码来自Django by Example一书中,但是当我在Django的官方网站上时,我看到一个Modleform的实例是这样创建的: https://docs.djangoproject.com/en/1.9/topics/forms/modelforms
save() 方法
# Create a form instance from POST data.
>>> f = ArticleForm(request.POST)
所以这是我的问题:从 POST 数据创建表单实例的两种方式有什么区别
【问题讨论】:
-
为什么你会认为有区别?这是标准的 Python;
__init__函数形式的第一个位置参数是data,因此您可以按位置或通过关键字传递它。 -
我知道了,非常感谢~
标签: django django-models django-forms