gpt4 book ai didi

django - 使用 render_to_response 传递 URL 参数

转载 作者:行者123 更新时间:2023-12-04 05:27:15 27 4
gpt4 key购买 nike

我将此代码用于 views.py 文件

@login_required
def login_edit_page(request):
#bla bla
return render_to_response('login_edit_page.html', variables)

问题是当调用返回时,我还必须从 URL 传递一个参数。例如 URL 是/edit?id=1 在这个例子中我想传递 id。我该怎么做?

这是完整的代码
@login_required
def login_edit_page(request):
if request.method == 'POST':
form = LoginEditForm(request.POST)
if form.is_valid():
login1 = _login_edit(request, form, request.GET['id'])
return HttpResponseRedirect(
'/user/%s/' % request.user.username
)
id2 = request.GET['id']
name=''
url=''
Login_username =''
notes= ''
password=''
try:
login1 = login.objects.get(
id = id2,
username=request.user
)
name = login1.name
url = login1.loginUrl
Login_username = login1.login_username
notes = login1.notes
password = login1.password
except (login.DoesNotExist):
pass
form = LoginEditForm({
'name': name,
'url': url,
'Login_username': Login_username,
'notes': notes,
'password': password
})
variables = RequestContext(request, {
'form': form
})
login1 = _login_edit(request, form, id2)
return render_to_response('login_edit_page.html', variables)

最佳答案

您不能使用 render_to_response 你的方式。试试这个:

...
id2 = request.GET.get('id', None)
...
ctx = {
'form': form,
'id': id2
}
return render_to_response('login_edit_page.html', ctx,
context_instance=RequestContext(request))

请注意,我添加了 id2到上下文字典,所以它可以通过 {{ id }} 在模板中访问.另外,请查看我如何从请求中检索 url 参数。

另一种方法是直接从 request 访问 url 参数。 (正如 Mark Lavin 所注意到的,如果 django.core.context_processors.request 存在于 TEMPLATE_CONTEXT_PROCESSORS 中,它将起作用):
{{ request.GET.id }}

但是说真的,你应该让你的观点更干净,其中有很多问题。

关于django - 使用 render_to_response 传递 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com