Django:单击按钮加载另一个模板

Django: Loading another template on click of a button

我已经在一个 django 项目上工作了几个星期,只是为了掌握它的窍门。我有点困惑。我现在有一个名为 "home.html" 的模板。我想知道我是否有另一个名为 "profile.html" 的模板可以在 home.html 模板上设置为 link?我有一个按钮,点击后应该会直接转到 profile.html 页面,但是当我研究这个主题时,我得到的答案不一。有些人说要创建一个视图并使用 javascript 加载 html,而其他人则说只在标签中写入第二页模板的路径会更容易。

完成这项工作最正确的方法是什么?

我看了这个 link: Rendering another template from a button click in Django 试图更好地理解,因为这是另一个最接近我所问问题的问题,但它让我更加困惑作为初学者,django 术语对我来说有些混乱。

提前感谢您提供的任何帮助。


编辑总结一下:我目前在主页上。有一个按钮显示 "View your profile"。单击该按钮后,我想离开主页并在屏幕上加载新页面 "profile.html"。

"Most correct way" 是创建将加载您的 "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>

除了使用 TemplateView,您还可以只使用

<a href="{% url 'profile' %}">View your profile</a>

在您的主页模板中。在您项目的主要 urls.py 中,只需添加 url 您的配置文件模板。

url_patterns = [
        url(r'profile/',profile_view,name="profile")
]

在 views.py 中定义了一个函数 profile_view。 link 将起作用:)