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 将起作用:)
我已经在一个 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 将起作用:)