Html django反向url命中相同的url
我有一个包含所有应用程序URL文件的基本URL文件,我要做的是单击Html django反向url命中相同的url,html,django,django-views,django-urls,Html,Django,Django Views,Django Urls,我有一个包含所有应用程序URL文件的基本URL文件,我要做的是单击生成PDF按钮,我想点击APIView/view函数通过get方法将变量作为参数传递,而不进行编码。 HTML: <form onsubmit="{% url 'api-product:invoice-pdf-get' %}?R={{ variable }}"> <input type="submit" value="Generate PDF"> </form> 应用程序URL: path('
生成PDF按钮
,我想点击APIView/view函数
通过get
方法将变量作为参数传递,而不进行编码。HTML:
<form onsubmit="{% url 'api-product:invoice-pdf-get' %}?R={{ variable }}">
<input type="submit" value="Generate PDF">
</form>
应用程序URL:
path('invoice-pdf-get/', invoice.InvoiceToPdf.as_view(), name='invoice-pdf-get'),
class InvoiceToPdf(APIView):
"""
This API is used to get the Invoice and return pdf of invoice
using rest_framework Response and premission_classes
"""
permission_classes = (AllowAny,)
def get(self, request):
return Response("hi")
单击生成的URL:(该URL为当前URL,带参数的URL除外)
我不明白为什么我会得到相同的URL,尽管当我检查HTML时,我看到了其中包含的URL,但是没有
localhost:8000
。
在StackOverflow
上有几个与反向URL相关的答案,没有任何帮助。此外,我没有包含任何java脚本等,只有引导和一个简单的自定义CSS。只要一张普通的桌子。
如果我只是从windows打开HTML文件目录,并单击按钮我得到:
http://localhost:63342/pos2all/templates/pogo-invoice.html?
更新:
现在,虽然参数在HTML inspect中仍然可见,但不会传递,方法与上图相同。
API看起来像:
path('invoice-pdf-get/', invoice.InvoiceToPdf.as_view(), name='invoice-pdf-get'),
class InvoiceToPdf(APIView):
"""
This API is used to get the Invoice and return pdf of invoice
using rest_framework Response and premission_classes
"""
permission_classes = (AllowAny,)
def get(self, request):
return Response("hi")
使用表单
action
属性,而不是onsubmit
<form action="{% url 'api-product:invoice-pdf-get' %}">
表单提交的默认方法是GET
,但您可以显式添加该方法以使其更清晰
<form method="get" action="{% url 'api-product:invoice-pdf-get' %}">
使用表单
action
属性,而不是onsubmit
<form action="{% url 'api-product:invoice-pdf-get' %}">
表单提交的默认方法是GET
,但您可以显式添加该方法以使其更清晰
<form method="get" action="{% url 'api-product:invoice-pdf-get' %}">
这是我在没有参数的情况下得到的url,参数只是发票\u id这是我在没有参数的情况下得到的url,参数只是发票\u id您希望传递什么值?您的表单中没有任何字段,它显示的url模式中没有要传递的值/?R=
我希望以请求的形式获取它。get.get['R']
,它不会被传递吗,因为我正在查看stackoverflow,了解如何通过get传递参数,他们建议这个@DanielRoseman基本上我想通过get方法向api传递一个参数,invoice pdf get
的模式可能有问题,如果我将模式更改为invoice pdf get/?R=
,它说找不到页面,您希望传递什么值?您的表单中没有任何字段,它显示的url模式中没有要传递的值/?R=
我希望以请求的形式获取它。get.get['R']
,它不会被传递吗,因为我正在查看stackoverflow,了解如何通过get传递参数,他们建议这个@DanielRoseman基本上我想通过get方法将一个参数传递给api,如果我将patter更改为invoice pdf get/?R=
,则invoice pdf get的模式可能有问题,它说找不到页面,