Django表单未提交面临属性错误

时间:2017-06-11 17:41:20

标签: python django django-models django-forms django-templates

我正在尝试将字段值从webform存储到django数据库,我的models.pyviews.py如下所示。我正面临 AttributeError:' WSGIRequest'对象没有属性' get' * 错误我是django和python的新手,请告诉我这里的错误。

VIEWS.PY

MODEL.PY

2 个答案:

答案 0 :(得分:0)

修改您的观点,

from django.shortcuts import redirect, render

def home(request):
    return render(request, 'home.html')

def index(request):
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            form.save()
        #No need to call index view again,
        #it's already been called.
            return redirect('home') #redirection.
    else:
        form = PageForm()
    return render(request, 'index.html', {'form':form})

<强> urls.py

from . import views

url(r'^index/$', views.index, name='index'),
url(r'^home/$', views.home, name='home')

您可以使用render()快捷键功能

https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#render

render(request, template[, dictionary][, context_instance][, content_type][, status][, current_app])

render()是1.3中render_to_response的一个品牌打击新快捷方式,它将自动使用我将从现在开始使用的RequestContext。

html表单中的action部分,用于定义表单提交位置的端点或网址。由于您的视图接受发布数据,因此您的action=''需要保持为空,这意味着您要发布到同一视图本身。

答案 1 :(得分:0)

在你的views.py中,上下文部分有一个错误,{'form':form}本身就是上下文,不需要再次包含'context'而且还包含请求 render(request,'index.html',{'form':form})