Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Django 通过编辑零件的url传递参数并在视图中获取它_Django - Fatal编程技术网

Django 通过编辑零件的url传递参数并在视图中获取它

Django 通过编辑零件的url传递参数并在视图中获取它,django,Django,如何从url获取id已在此处搜索,请指导他人。单击“编辑”后,它将接近供应商定义。。。 我的数据库中有10条记录。在模板中单击每个记录的编辑选项后,它应该显示特定的单个记录详细信息。但在这里我面对的url后,点击编辑选项的索引页 我的观点 def vendor(request): key = request.GET.get('id') obj = vender.objects.get(id = key) return render_to_response('edit_vendor.html',

如何从url获取id已在此处搜索,请指导他人。单击“编辑”后,它将接近供应商定义。。。 我的数据库中有10条记录。在模板中单击每个记录的编辑选项后,它应该显示特定的单个记录详细信息。但在这里我面对的url后,点击编辑选项的索引页

我的观点

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>
def供应商(请求,id): obj=获取对象或404(供应商,pk=id) ........... url(r“^vendor/(?P\d+/$”,vendor), 在模板中:

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

(r'^manage_vendor/vendor/(?P<vendor_id>\d+)/$', 'vendor'),
def vendor(request, vendor_id = None):
    print vendor_id

Django让这类事情对你更容易

在您的URL.py中:

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

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

这假设Django 1.5

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

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


使用
url
template标记是将模板与url模式分离的好方法,允许您更改url结构,而无需返回并编辑所有模板。

您尝试过下面给出的答案吗?您的
href
属性指向
/vendor/{vendor.id}/
您的浏览器屏幕截图显示的格式为
/manage\u vendor/vendor/{{vendor.id}/
。检查一下。现在它向我显示了这样的内容你确定你问题中的锚定标记与模板中的锚定标记相同吗?/manage\u vendor/vendor/10/'str'对象的TypeError不可调用--现在在更正所有内容之后出现了新的错误。我们可以在此处命名任何内容吗?name='vender\u detail'当然,只要确保从url模板标记调用时使用相同的名称即可。此问题由dong解决,如此此此问题由dong解决,如此感谢您的回复