【发布时间】:2016-10-15 07:27:15
【问题描述】:
我已经在 Django1.5 中构建了一个视图和一个表单。如果 POST 请求成功(基于我设置的一些值),那么我需要将页面重定向到同时创建的另一个 URL。
否则,如果 POST 不成功,我需要留在同一页面上。现在我已经解决了以下问题,但我很确定这不是最好的方法:
这是我观点的一部分:
def layer_create(request, template='layers/layer_create.html'):
if request.method == 'GET':
....
elif request.method == 'POST':
out = {}
...
new_table = 'something that comes from the form'
if form.is_valid():
...
try:
...
out['success'] = True
except:
...
out['success'] = False
finally:
if out['success']:
status_code = 200
# THIS IS THE PART WHICH I THINK I CAN IMPROVE
template = '/something/workspace:' + new_table + '/metadata'
else: # if form not valid
out['success'] = False
return render_to_response(template, RequestContext(request, {'form': form}))
这部分代码:
template = '/something/workspace:' + new_table + '/metadata'
对我来说似乎很丑陋。但由于我是 Django 的新手,我不知道如何处理这个问题。
【问题讨论】: