Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html django反向url命中相同的url_Html_Django_Django Views_Django Urls - Fatal编程技术网

Html django反向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('

我有一个包含所有应用程序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('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的模式可能有问题,它说找不到页面,