我已经在django项目上工作了几个星期了,只是玩弄它以便我可以掌握它。我有点困惑。我有一个名为" home.html"的模板。我想知道我是否还有另一个名为" profile.html"的模板。要设置为home.html模板上的链接?我有一个按钮,点击后,应该直接带我到profile.html页面,但是当我正在研究这个主题时,我得到的答案很复杂。有些人声称要创建一个视图并使用javascript加载html,而其他人声称只需在标签中写入第二页模板的路径就更容易了。
完成这项工作的最正确方法是什么?
我查看了这个链接:Rendering another template from a button click in Django试图更好地理解,因为这是另一个最接近我要求的问题,但它更加困惑我,因为django术语有点让我难以理解为初学者。
提前感谢您提供的任何帮助。
编辑:总结一下:我目前在主页上。有一个按钮显示"查看您的个人资料"。单击该按钮后,我想离开主页并拥有新页面" profile.html"要加载到屏幕上。
答案 0 :(得分:4)
“最正确的方法”是创建将加载“profile.html”模板的视图。我建议使用通用TemplateView
。
将此行添加到 urls.py :
from django.views.generic import TemplateView
urlpatterns = patterns('',
url(r'^profile/', TemplateView.as_view(template_name='profile.html'),
name='profile'),
)
在 home.html 中使用此代码段:
<a href="{% url 'profile' %}">Profile</a>
答案 1 :(得分:2)
您也可以使用
而不是使用TemplateView<a href="{% url 'profile' %}">View your profile</a>
在您的主页模板中。在项目的主要urls.py中,只需添加个人资料模板的网址。
url_patterns = [
url(r'profile/',profile_view,name="profile")
]
在views.py中将一个函数定义为profile_view。 该链接将起作用:)