未定义 Django 'RequestContext' - forms.ModelForm [英] Django 'RequestContext' is not defined - forms.ModelForm

查看:22
本文介绍了未定义 Django 'RequestContext' - forms.ModelForm的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在尝试加载表单时遇到请求上下文错误.

Ive got the Request Context Error when trying to load my Form.

  1. 在我的 models.py 上创建 ModelForm
  2. 在我的视图中创建 def add
  3. 链接到视图的网址

views.py

def add_company(request):
# Get the context from the request.
context = RequestContext(request)

# A HTTP POST?
if request.method == 'POST':
    form = CompanyForm(request.POST)

    # Have we been provided with a valid form?
    if form.is_valid():
        # Save the new category to the database.
        form.save(commit=True)

        # Now call the index() view.
        # The user will be shown the homepage.
        return index(request)
    else:
        # The supplied form contained errors - just print them to the terminal.
        print form.errors
else:
    # If the request was not a POST, display the form to enter details.
    form = CompanyForm()

# Bad form (or form details), no form supplied...
# Render the form with error messages (if any).
return render_to_response('add_company.html', {'form': form}, context)

但是它卡在视图的第一行.我做的和rango教程一样.它在那里工作.但我的不起作用.有人提示吗?

But its get stuck on the first line of the view. I made it same as on rango tutorial. There it works. But mine isnt working. Anyone a hint?

谢谢

请求头:

Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language de,en-US;q=0.7,en;q=0.3
Cache-Control   max-age=0
Connection  keep-alive
Cookie  csrftoken=I9120vmRATOck4a0SSqlfJPLl62PMUOR; sessionid=isx0p4ezb2y9m129v6243ui3ucuyvrak
Host    localhost:8000
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:33.0) Gecko/20100101 Firefox/33.0

回复:

Content-Type    text/html
Date    Sun, 07 Dec 2014 22:01:03 GMT
Server  WSGIServer/0.1 Python/2.7.6
X-Frame-Options SAMEORIGIN

Request Method:     GET
Request URL:    http://127.0.0.1:8000/comp/new  
Django Version:     1.7.1
Exception Type:     NameError
Exception Value:    

name 'models' is not defined

Exception Location:     /home/mandaro/django/comp/company/forms.py in CompanyForm, line 5
Python Executable:  /usr/bin/python
Python Version:     2.7.6

明白了:

Problem wasn t on form - it was template import problem. Imported render_to_response instead of render solved it. Now it can goes on. ciao and tx

推荐答案

你实际上不需要担心传递 RequestContext,因为如果你使用 render(),它会为您处理.

you actually dont need to worry about passing RequestContext, because if you use render(), it handles it for you.

所以你会这样做:

return render(request, 'add_company.html', {'form': form})

代替

return render_to_response('add_company.html', {'form': form}, context)

就是这样.当然,您也需要导入它.

thats it. of course, you need to import it as well.

from django.shortcuts import render

希望这能解决您的问题

这篇关于未定义 Django 'RequestContext' - forms.ModelForm的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆