我正在创建一个可以创建,编辑或查看地点的应用。
当我编辑或查看某个地点时,我会通过该网址传递“id”字段,例如:
/地点/位置/ 1
/地点/位置/ 2 ...
当我尝试编辑我所做的地方时:
place_detail.html
<a href="{% url places_edit_place place.id %}">Edit</a>
'place'var是一种形式。
url.py
urlpatterns = patterns('',
url(r'^edit_place/(?P<id_place>\w+)/$',
views.edit_place,
name='places_edit_place'),
)
view.py
def edit_place(request, id_place, template_name='places/edit_place.html'):
我在'id_place'arg中收到了一个place对象的'id'字段。但是如果我在网址中更改'id'arg(/ places / edit_place / 1到/ places / edit_place / 2),网页将转到第二个要编辑的位置,用户可以按照自己的意愿更改此arg。
如何在模板中将此私有'id'arg发送到视图而不会让用户看不到它。
答案 0 :(得分:0)
别。
如果您的应用程序有规则来确定用户可以编辑哪些位置,您应该实现一些业务逻辑,以确保用户无法编辑该位置,即使他们恰好使用URL来执行此操作。您可以使用Django的authorization decorators来确保用户无法访问他们不应该访问的任何内容。