在视图中使用部分 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)