我似乎在尝试使用href模板标签时遇到了一些困难。这就是我想要做的。
我在
处有一个编辑订单(r'^orders/edit/(?P<order_no>\d+)/$', views.edit_order),
我想要一个可以带我到这个html模板items.html的链接 我将这个网址命名为
(r'^orders/edit/add_items/(?P<client_id>)/$', views.add_items),
我的观点看起来像这样。
@login_required
def add_items(request, client_id = 0):
client = None
items = None
try:
client = models.Client.objects.get(pk = client_id)
items = client.storageitem_set.all()
except:
return HttpResponse(reverse(return_clients))
return render_to_response('items.html', {'items':items, 'client':client}, context_instance = RequestContext(request))
@login_required
def return_clients(request):
clients = models.Client.objects.all()
return render_to_response('clients.html', {'clients':clients}, context_instance = RequestContext(request))
在我的编辑订单表单模板中,我有这个。
<a href="{% url tiptop.views.add_items client.pk %}">Add Item</a>
现在,当我重新启动服务器时,我点击链接,我出于某种原因访问此页面。
/ orders / edit / add_items //
我想也许我需要'for'循环,但出于某种原因,当我尝试这样做时,href消失了。
编辑:我已放入views.edit_order
client = models.Client.objects.all()
并在edit_order模板中
{% for c in client %}
<a href="{% url tiptop.views.add_items client.pk %}">{{c.name}}</a><br />
{% endfor %}
再次运行服务器时,会显示所有客户端名称,但在所有客户端链接再次运行之前 /命令/编辑/ add_items //
答案 0 :(得分:1)
我自己找到答案。
def edit_order(request, order_no):
# some code
name = order.contact.client
<a href="{% url tiptop.views.client_items name.pk %}">Add Item</a>
答案 1 :(得分:0)
您的client
库看起来未定义(我假设您显示的HTML位于clients.html中)
试试这个:
{% for client in clients %}
<a href="{% url tiptop.views.add_items client.pk %}">Add Item</a><br />
{% endfor %}