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
Python NoReverseMatch at/add/_Python_Django - Fatal编程技术网

Python NoReverseMatch at/add/

Python NoReverseMatch at/add/,python,django,Python,Django,我的url标签上不断出现错误。语法是正确的,我尝试了不同的解决方案,但没有运气 我的URL.py urlpatterns = [ url(r'^$', LandingView.as_view(), name="landing_page"), url(r'^add/$', AddView.as_view(), name="add"), url(r'^rent/(?P<slug>\w+)/$', rent_detail, name="rent_detail"),

我的url标签上不断出现错误。语法是正确的,我尝试了不同的解决方案,但没有运气

我的URL.py

urlpatterns = [
    url(r'^$', LandingView.as_view(), name="landing_page"),
    url(r'^add/$', AddView.as_view(), name="add"),
    url(r'^rent/(?P<slug>\w+)/$', rent_detail, name="rent_detail"),
    url(r'^add/space/$', AddSpaceView.as_view(), name="addSpace"),
    url(r'^lang/$', Language.as_view(), name="lang"),
    url(r'^upload/image/(?P<pk>\d+)/$', ImageUpload, name="ImageUpload"),
    url(r'^filter/space/$', FilterSpace.as_view(), name="filterSpace"),
    url(r'^api/', include(v1_api.urls)),
]
add.html

<div id="listing">
</div>
<script type="text/javascript">
  // want to passs url for uploading image in ajax url parameter
    var data = {
        urltag: "{% url 'ImageUpload' rental.id %}"
    }

    console.log('url is', data); 
    $(function() {
      app.showListingSpaceForm("listing",data);
    });

</script>

更新:Ajax代码,其中我希望url中的id用于将图像上载到其关联的rent

您需要显式传递kwarg参数,因为您在url.py中定义了它:

urlpatterns = [
    url(r'^$', LandingView.as_view(), name="landing_page"),
    url(r'^add/$', AddView.as_view(), name="add"),
    url(r'^rent/(?P<slug>\w+)/$', rent_detail, name="rent_detail"),
    url(r'^add/space/$', AddSpaceView.as_view(), name="addSpace"),
    url(r'^lang/$', Language.as_view(), name="lang"),
    url(r'^upload/image/(?P<pk>\d+)/$', ImageUpload, name="ImageUpload"),
    url(r'^filter/space/$', FilterSpace.as_view(), name="filterSpace"),
    url(r'^api/', include(v1_api.urls)),
]
var data = {
    urltag: "{% url 'ImageUpload' pk=rental.id %}"
}

您需要显式传递kwarg参数,因为您在URL.py中定义了它:

var data = {
    urltag: "{% url 'ImageUpload' pk=rental.id %}"
}

当您转到
/add/
时,Django将运行
AddView
,因为您有一个url模式

url(r'^add/$', AddView.as_view(), name="add"),
该视图将呈现
rentals/add.html
,因为您有:

class AddView(TemplateView):
    template_name = 'rentals/add.html'
呈现模板将失败,因为您正在url标记中使用
rental
,但尚未在任何地方定义rental

{% url 'ImageUpload' rental.id %}

除非您的
AddView
可以在模板上下文中设置
rental
,否则这样使用url标记将不起作用。

当您转到
/add/
时,Django将运行
AddView
,因为您有一个url模式

url(r'^add/$', AddView.as_view(), name="add"),
该视图将呈现
rentals/add.html
,因为您有:

class AddView(TemplateView):
    template_name = 'rentals/add.html'
呈现模板将失败,因为您正在url标记中使用
rental
,但尚未在任何地方定义rental

{% url 'ImageUpload' rental.id %}


除非您的
AddView
可以在模板上下文中设置
rental
,否则像这样使用url标记将不起作用。

NoReverseMatch在/add/Reverse处为带有参数“(”)”和关键字参数“{}”的“ImageUpload”找到匹配。尝试了两种模式:[“upload/image/(?P\\d+)\ \(?P[a-z0-9]+)/?$”,“upload/image/(?P\\d+)/$”]我已使用AddView进行了更新,并说明了我希望在add.html页面中显示id的原因。我希望在add.html模板中的ajax代码中显示rental.id。My add.html呈现了一个由UISSJ开发的列表表单。有一个html标记具有前端表单和ajax代码。因此,add.html页面中需要id,其中有表单和ajax代码用于将图像发送到服务器。找不到/add/Reverse处的'ImageUpload'的NoReverseMatch,其中包含参数'('',)'和关键字参数'{}'。尝试了两种模式:[“upload/image/(?P\\d+)\ \(?P[a-z0-9]+)/?$”,“upload/image/(?P\\d+)/$”]我已使用AddView进行了更新,并说明了我希望在add.html页面中显示id的原因。我希望在add.html模板中的ajax代码中显示rental.id。My add.html呈现了一个由UISSJ开发的列表表单。有一个html标记,它有前端表单和ajax代码。所以在add.html页面中需要id,其中有表单和ajax代码用于向服务器发送图像。将
rent
从arg更改为kwarg在这里没有帮助。我仍然收到一个错误。异常值:找不到参数为“()”且关键字参数为“{pk':''}”的“ImageUpload”的反向。尝试了2种模式:['upload/image/(?P\\d+)\\.(?P[a-z0-9]+)/?$','upload/image/(?P\\d+)/$']这不是真的,命名捕获组的参数可以作为位置参数传递给
reverse()
{%url%}
。您的代码与原始代码在行为上没有差异。将
rent
从arg更改为kwarg在这里没有任何帮助。我仍然收到一个错误。异常值:找不到参数为“()”且关键字参数为“{pk':''}”的“ImageUpload”的反向。尝试了2种模式:['upload/image/(?P\\d+)\\.(?P[a-z0-9]+)/?$','upload/image/(?P\\d+)/$']这不是真的,命名捕获组的参数可以作为位置参数传递给
reverse()
{%url%}
。您的代码和原始代码在行为上没有区别。我想我必须这样做,然后才能获取id类AddView(TemplateView):template_name='rentals/add.html'def get_context_data(self,**kwargs):context=super(AddView,self)。get_context_data(**kwargs)context['rental']=rental.objects.all()return context我的主要要求是将图像保存到其关联的位置。我可以上传图片,但它们不会保存到相关的租金中。我必须手动将图像添加到管理员的租金中。这样覆盖
get\u context\u data
会将所有租金传递到模板上下文。url标记仍然不起作用,除非它位于循环中,如
{%forrentals%}{%url'ImageUpload'rental.id%}{%endfor%}
是的,这样我就得到了多个id。抱歉,我已经删除了它。我想我必须这样做,然后才能获取id类AddView(TemplateView):template_name='rentals/add.html'def get_context_数据(self,**kwargs):context=super(AddView,self).get_context_data(**kwargs)context['rental']=rental.objects.all()return context我的主要要求是将图像保存到其关联的租金中。我可以上载图像,但它们不会保存到其关联的租金中。我必须从管理员处手动将图像添加到租金中。覆盖
get\u context\u data
这样会将所有租金传递到模板上下文中。url标记仍然不起作用,除非它不起作用s在一个循环中,如
{%for rentals%}{%url'ImageUpload'rental.id%}{%endfor%}
是这样我得到了多个id。很抱歉,我已将其删除。