因此,如果我希望用户的姓名链接到其个人资料,我希望该链接包含用户在GET表单中的名字和姓氏...我是否只是硬编码到链接中,还是有更优雅的编码方式?这是硬编码的:
<p>
<li role="presentation" class="active"><a href="{% url 'profile' %}?fname={{ fname }}&lname={{ lname }}">{{ user.fname }}</a>
</li>
</p>
答案 0 :(得分:0)
是的,更优雅的方法是设置一条路线,例如,用户的ID(pk)并使用为用户模型设置的DetailView或接受用户模型的功能视图ID并检索相关用户。直接传递名字和姓氏意味着您需要查询它们(在将它们拉出查询字符串之后)而不是简单地查询ID,因为它传递给您(在框架礼貌地checks its type之后,提供你已正确设置路线了。
因此,您的路线看起来像url(r'^profile/(?P<pk>\d+)/$', ProfileView.as_view(), name='profile')
,您的模板标记看起来像{% url 'profile' user.id %}
。