Python Django不呈现ModelForm
我正在Django上做一个小项目,在呈现ModelForm时遇到了一些问题。在main.html中,标记{{form.ad_p}似乎不起作用。我只看到Save按钮,没有看到任何ModelForm字段 如果我把下面的代码放到shell中Python Django不呈现ModelForm,python,django,django-forms,modelform,Python,Django,Django Forms,Modelform,我正在Django上做一个小项目,在呈现ModelForm时遇到了一些问题。在main.html中,标记{{form.ad_p}似乎不起作用。我只看到Save按钮,没有看到任何ModelForm字段 如果我把下面的代码放到shell中 form = AddPath() form.as_p() 我明白了: form.as_p() u'<p><label for="id_name">Name:</label> <input id="id_name
form = AddPath()
form.as_p()
我明白了:
form.as_p()
u'<p><label for="id_name">Name:</label> <input id="id_name" maxlength="200" name="name" type="text" /></p>\n<p><label for="id_route_data">Route data:</label> <textarea cols="40" id="id_route_data" name="route_data" rows="10">\r\n</textarea></p>'
views.py:
from django.shortcuts import render_to_response
from django.http import HttpResponse
from django.core.context_processors import csrf
from google_maps.forms import AddPath
def index(request):
args = {}
args.update(csrf(request))
form = AddPath()
return render_to_response('main.html', args)
def add_path(request):
#me = request.user
me = 'test'
if request.method == 'POST':
form = AddPath(request.POST)
if form.is_valid():
tmpForm = form.save(commit=False)
tmpForm.user = me
tmpForm.save()
return HttpResponse('Saved')
else:
return HttpResponse(form.errors)
main.html
{% extends 'basis.html' %}
{% block leftbar %}
<form action={% url 'add_path' %} method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="hidden", id="coordinate" name="coordinate"/>
<input type="submit" name="submit" value="Save"/>
</form>
{% endblock %}
您似乎没有将表单添加到索引中的模板上下文中。是的,我忘了添加到,我应该更仔细一些。谢谢你的帮助。
{% extends 'basis.html' %}
{% block leftbar %}
<form action={% url 'add_path' %} method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="hidden", id="coordinate" name="coordinate"/>
<input type="submit" name="submit" value="Save"/>
</form>
{% endblock %}