ava*_*tar 30 django django-templates django-forms django-views
这就是我所拥有的:
myview.py带有参数的视图user:
def myview(request, user):
form = MyForm(request.POST)
....
return render_to_response('template.html',locals(), context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
在user得到通过URL通过.
urls.py:
...
urlpatterns += patterns('myview.views',
(r'^(?P<user>\w+)/', 'myview'),
)
...
Run Code Online (Sandbox Code Playgroud)
我也有template.html一个表格:
<form name="form" method="post" action=".">
...
</form>
Run Code Online (Sandbox Code Playgroud)
如果myview函数需要参数,那么表单动作参数会怎样?
现在我有action=".".我问的原因是因为当我填写表单In(templates.html)并单击提交按钮时,我看到绝对没有从该表单传递的字段值.这几乎就像我点击提交按钮时传递一个空表格.有任何想法吗?谢谢!
gla*_*xly 33
如果要显式设置操作,假设模板中有可变用户名,
<form name="form" method="post" action="{% url myview.views username %}">
Run Code Online (Sandbox Code Playgroud)
或者您可以在urls.py中为网址指定名称,以便您可以像这样引用它:
# urls.py
urlpatterns += patterns('myview.views',
url(r'^(?P<user>\w+)/', 'myview', name='myurl'), # I can't think of a better name
)
# template.html
<form name="form" method="post" action="{% url myurl username %}">
Run Code Online (Sandbox Code Playgroud)
Tim*_*ony 25
您将发布到也为表单提供服务的同一视图.因此,首先,视图被调用并提供表单.发布表单时,会调用相同的视图,但这次是处理表单.这就是为什么行动是空的.
它不应该要求任何东西.假设您在以下网址:
www.yoursite.com/users/johnsmith/
Run Code Online (Sandbox Code Playgroud)
你的表格应该是:
<form name="form" method="post" action="">
Run Code Online (Sandbox Code Playgroud)
此时,您已经myview与用户在一起johnsmith.您的视图应如下所示:
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# you should be able to extract inputs from the form here
else:
form = MyForm()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62127 次 |
| 最近记录: |