我已经开始使用Django并且正确地使用通用视图。伟大的建筑!那么,这些文档是很棒的,但对于绝对的初学者来说,它有点像unix文档,当你已经知道你在做什么时,它们最有意义。我仔细研究过,无法找到它,也就是说,如何设置一个object_list模板,以便您可以单击渲染屏幕中的条目并获取object_detail?把链接放在list_detail.object_list到list_detail.object_detail
以下是工作。我问的原因是看看我是否采取了合理的路线,或者是否有更好的,更多的Djangoish方式来做到这一点?
我有一个模型,其中定义了一个unicode,以便我可以用人类可读形式识别我的数据库条目。我想单击object_list生成页面中的链接以进入object_detail页面。我知道这样做的一个好方法是创建一个系统,详细信息的url看起来像http://www.example.com/xxx/5/,它将调用数据库中第5行的详细信息页面。所以,我只想出了以下几点,我的问题是我在正确的轨道上?
我做了一个模板页面,其中包含以下列表视图:
<ul>
{% for aninpatient in object_list %}
<li><a href='/inpatient-detail/{{ aninpatient.id }}/'>{{ aninpatient }}</a></li>
{% endfor %}
</ul>
这里,object_list中来自list_detail.object_list通用视图。 for循环遍历对象列表object_list。在每行中,我在html中创建一个引用所需href“/ inpatient-detail/nn /”的锚点,其中nn是数据库表中每个行的id字段。显示的链接是unicode字符串,因此是可点击的链接。我已经建立了模板,这工作得很好。
那么,我会朝着正确的方向走吗?它看起来很简单,可以扩展它以便能够在模板中编辑和删除链接。
有没有一个通用的视图,利用模型来创建详细信息页面?我使用django.forms中的ModelForm helper来创建表单对象,这非常适合创建输入表单(带有自动验证!太酷了!),那么是否有类似于创建详细视图页面的东西?
史蒂夫
啊,非常有趣。我来自PHP,硬编码很自然。尽管我不知道该怎么问,但我非常感谢你明白我在问什么。 – kd4ttc
答案可在http://stackoverflow.com/q/6564068/820321 感谢大家。对相关问题的评论让我能够弄清楚这一点。没有你,不可能做到这一点! – kd4ttc