如何调用模板?

时间:2019-07-03 19:40:59

标签: django

如何从以下index.html调用about.html?要在网址和视图中添加什么? 包括about和index在内的所有html文件都收集在project / static文件夹中。

# This is part of the index.html, where I want to call the about.html          
<div class="card-footer">
     <a href="#" class="btn btn-primary">Learn More</a>
</div>

# Here is the project/urls.py
from django.contrib import admin
from django.urls import path
from app1 import views
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index),
]

urlpatterns += staticfiles_urlpatterns()

2 个答案:

答案 0 :(得分:0)

如果您在一个html文件中,并且想要打开另一个html文件,则可以在html文件中放置以下内容:

<a href="{% url 'about' %}">  Go to About  </a>

这将在“转到关于”一词上创建一个可点击的链接。然后,您可以将其放置在页面上的任何位置。在您的urlpatterns中,您需要像这样新建路径

path('about', view.AboutView.as_view(), name='about')

在views.py中,您必须使用templateView创建一个名为AboutView的类,并将html文件的名称作为template_name放置如下:

from django.views.generic.base import *

class AboutView(TemplateView):
     template_name = "about.html"

让我知道您是否需要更多帮助来理解此代码或想做其他事情

答案 1 :(得分:0)

在您的urls.py中添加有关url的信息

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index),
path('about/', views.about, name="about"),
]

在您的views.py文件中添加有关视图的信息

def about(request):
    # render your template here

在index.html

<div class="card-footer">
     <a href="{% url 'about' %}" class="btn btn-primary">Learn More</a>
</div>