Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 在应用程序之间使用Django url模板标记_Python_Django_Django Templates - Fatal编程技术网

Python 在应用程序之间使用Django url模板标记

Python 在应用程序之间使用Django url模板标记,python,django,django-templates,Python,Django,Django Templates,我在Django 1.8中使用了两个应用程序的名称空间URL。见下面的简约结构: 购物车 -模板 --购物车 ---购物车模板.html -url.py -views.py 购物 -设置.py -url.py 产品 -模板 --购物车 ---购物车模板.html -url.py -views.py 因此,我为“主”应用程序设置了路线: #Shop/urls.py urlpatterns = patterns( '', url(r'^cart/', include('cart.ur

我在Django 1.8中使用了两个应用程序的名称空间URL。见下面的简约结构:

购物车
-模板
--购物车
---购物车模板.html
-url.py
-views.py
购物
-设置.py
-url.py
产品
-模板
--购物车
---购物车模板.html
-url.py
-views.py

因此,我为“主”应用程序设置了路线:

#Shop/urls.py
urlpatterns = patterns(
    '',
    url(r'^cart/', include('cart.urls', namespace='cart')),
)
还有购物车应用程序

#Cart/urls.py
urlpatterns = [
url(r'^$', views.index, name='index'),
]
此模板标记非常有效:

# Cart/templates/cart/cart-template.html
<form action= {% url 'cart:index' %} method="post">
它似乎试图使用应该调用的视图作为URL

编辑:在隐藏字段中添加名称属性时,似乎发生了错误:

<!-- Product/templates/product/product-template.html -->

<form action= {% url 'cart:index' %} method="post">  
            {% csrf_token %}  
            <!-- this link works -->  
            <a href={% url 'cart:index'%}> Click</a>  
            <!-- Submit button goes to correct URL when name attribute of hidden field below is commented out, but I need it to know what to put in cart -->
            <input type="hidden" name="id" value="{{ article.id }}"> 
            <input type="submit" value="Bestellen" class="btn btn-default"/>
        </form>

谢谢你的努力。我发现了错误。在购物车的索引视图中,我使用以下行:

return redirect(cart.views.index)
如果购物车被修改(文章被删除或数量增加等),我使用它重定向用户。重定向函数在内部使用reverse()函数,以便解析与该视图匹配的URL。见:

对于命名视图,重定向函数不能使用reverse()函数,因此它不能将cart.views.index解析为输入,只重定向到它而不解析

我通过反转命名路由以获取url并重定向用户来修复它,如下所示:

return redirect(reverse('cart:index'))

名称空间的URL应该工作,无论它们在哪个应用程序中。你能试着创建一个指向索引页的简单链接(相对于表单)来检查你的问题是否在其他地方吗?是的,我刚刚尝试了一个简单的链接:它就像一个符咒。添加这一行时会出现问题:input type=“hidden”name=“id”value=“{{article.id}}”>我需要知道将什么放入购物车。更新了问题HM,请尝试在
{%url'购物车:索引“%}
周围放置
。这意味着:
没有运气,完全相同的行为。另一个可能的问题是
购物车/url.py
中有一个列表,而不是
模式。因此,请尝试将以下内容放入
购物车/url.py
urlpatterns=patterns(“”,url(r'^$',views.index,name='index'))
MultiValueDictKeyError at /cart/  

"'id'"
return redirect(cart.views.index)
return redirect(reverse('cart:index'))