在视图中使用部分 Django URL
using a part of Django URLs in views
我需要向视图发送一个 JavaScript 变量,并且基于该变量,一个新页面 opens.I 已经使用 ajax 发送了该变量并且它运行良好但是当我调用 URL 根据发送的变量打开页面,变量得到 None 值。
这是我的模板:
<a onclick="click(this.id)" id="author[i].name" href="{% url 'app:export-pdf' %}" >export pdf</a>
author[i].name
是我发送给它查看的 JavaScript 变量:
function click(name){
$.ajax({
type: 'POST',
url: '{% url 'app:export-pdf' %}',
data: {'name': name },
});
};
如果需要,这是我的部分观点:
@csrf_exempt
def battery_render_pdf_view(request):
name = request.POST.get('name')
print(name)
data = MyModel.objects.filter(name=name)
当我 运行 代码时,我会得到例如:
Mike
None
视图获得 None 作为名称,但必须获得 Mike 才能进行过滤。
我的代码有什么问题?(我认为它发生是因为我调用了 Url 2 次,但我没有找到如何更正它。)
谢谢大家
最后我找到了一个简单的方法,如下所示:
模板:
<a href="the path you want/{{this.id}}" id="author[i].name">export pdf</a>
url :
path('pdf/<int:authorid>/', pdf_view, name='pdf-data')
并且在视图中,您可以使用 kwargs:
访问 authorid
def pdf_view(request,**kwargs):
author = kwargs.get('authorid',None)
data = MyModel.objects.filter(name=author)
我需要向视图发送一个 JavaScript 变量,并且基于该变量,一个新页面 opens.I 已经使用 ajax 发送了该变量并且它运行良好但是当我调用 URL 根据发送的变量打开页面,变量得到 None 值。 这是我的模板:
<a onclick="click(this.id)" id="author[i].name" href="{% url 'app:export-pdf' %}" >export pdf</a>
author[i].name
是我发送给它查看的 JavaScript 变量:
function click(name){
$.ajax({
type: 'POST',
url: '{% url 'app:export-pdf' %}',
data: {'name': name },
});
};
如果需要,这是我的部分观点:
@csrf_exempt
def battery_render_pdf_view(request):
name = request.POST.get('name')
print(name)
data = MyModel.objects.filter(name=name)
当我 运行 代码时,我会得到例如:
Mike
None
视图获得 None 作为名称,但必须获得 Mike 才能进行过滤。 我的代码有什么问题?(我认为它发生是因为我调用了 Url 2 次,但我没有找到如何更正它。)
谢谢大家
最后我找到了一个简单的方法,如下所示:
模板:
<a href="the path you want/{{this.id}}" id="author[i].name">export pdf</a>
url :
path('pdf/<int:authorid>/', pdf_view, name='pdf-data')
并且在视图中,您可以使用 kwargs:
访问 authoriddef pdf_view(request,**kwargs):
author = kwargs.get('authorid',None)
data = MyModel.objects.filter(name=author)