通过url传递参数以编辑部件并在视图中返回它

时间:2013-02-26 06:41:25

标签: django

enter image description here如何从网址获取ID已经来到这里请指导某人。点击编辑后,它将接近供应商def ... 我的数据库中有10条记录。在模板中单击每个记录的编辑选项后,它应显示特定的单个记录详细信息。但是点击编辑选项后,我在这里面对url的索引页面。

my views.py

def vendor(request):
key = request.GET.get('id')
obj = vender.objects.get(id = key)
return  render_to_response('edit_vendor.html',  
    {'obj':obj},context_instance=RequestContext(request))

在模板中我正在传递id

 <a href ='vendor/id={{vendor.id}}'> edit </a>

当我点击编辑选项
时,我能够在网址中看到ID 我的网址是

url(r'^vendor/(\id+)/$',vendor ),

3 个答案:

答案 0 :(得分:1)

def vendor(request, id):
    obj = get_object_or_404(vender, pk=id)
    ...........


<a href ='vendor/{{vendor.id}}/'> edit </a>


url(r'^vendor/(?P<id>\d+)/$',vendor ),

答案 1 :(得分:1)

Django让你的这类事情变得更容易。

在你的urls.py中:

(r'^vendor/(?P<vendor_id>\d+)/$', 'vendor', name='vender_detail'),

在您看来:

def vendor(request, vendor_id = None, *args, **kwargs):

在你的模板中:

<a href ='{% url "vendor_detail" vendor.id %}'> edit </a>

这假设是Django 1.5。

如果您使用的是1.4,请在模板中执行以下操作:

<a href ='{% url vendor_detail vendor.id %}'> edit </a>

使用url模板代码是将模板与网址模式分离的好方法,您可以更改网址结构,而无需返回并编辑所有模板。

答案 2 :(得分:0)

在模板中:

<a href ='vendor/{{vendor.id}}/'> edit </a>

urls.py

(r'^manage_vendor/vendor/(?P<vendor_id>\d+)/$', 'vendor'),

views.py

def vendor(request, vendor_id = None):
    print vendor_id