Django网站创建从html页面到另一个应用程序的主html页面的链接

问题描述 投票:0回答:2

我在django项目中有一个索引页面,在(在它的header.html页面中)有一个导航栏。我希望导航栏实际工作......目前当我点击导航栏中的“老师”时,我收到一个错误。

header.html中的代码(具有导航栏)

</button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item mx-0 mx-lg-1">
              <a class="nav-link py-3 px-0 px-lg-3 rounded js-scroll-trigger" href="/teachers/teachers.html">Teachers</a>
            </li>
        </div>

上面的链接是:

HREF = “/教师/ teachers.html”>教师

teachers.html页面所在的文件路径/结构:C:\ Users \ User \ Desktop \ rast \ teachers \ templates \ teachers

错误:

Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:

admin/
admin/
header/ [name='header']
[name='index']
teachers/
The current path, teachers.html, didn't match any of these.

我的问题是 - 我需要在header.html页面中写一下(或者我需要做些什么?)让导航栏按钮“老师”转到teachers.html页面。

html django hyperlink
2个回答
1
投票

网址不正确。而不是指向模板文件名:

href="/teachers/teachers.html"

使用您在urls.py文件中提供的实际链接:

href="/teachers/"

3
投票

Django是一个以动态网页生成为特色的框架,这意味着有一些功能可以轻松维护和扩展您的Web应用程序,同时保留高度自定义和控制。其中一个功能是模板。

您已经将teachers.html放置在模板目录中,因此在Django世界中,您将放置一个指向网页生成器的URL路径,如下所示:

href link> url> view> template

您的错误消息可让您深入了解此信息,因为它会告诉您它尝试匹配给定网址的网址。

在你的navbar.html中使用Django语法输入动态网址:

<a href="{% url 'teachers %}">Teachers</a>

在你的urls.py中给Django提供了关于将teachers关键字映射到的视图的说明:

urlpatterns = [
    ...
    url(r'^teachers', views.teachers),
    ...
]

现在在views.py中,您需要告诉Django教师功能正确生成网页需要什么。

def teachers(request):
    return render(request, 'app/teachers.html')

应该在Django中将应用程序的名称替换为应用程序的名称。

现在,这是如何在Django中构建动态框架的高级示例。细节可能因您的构建和项目结构而异。我建议您阅读Django文档和教程。它们是彻底和详细的。 https://docs.djangoproject.com/en/2.0/

同样,您要指向的任何页面都应在URL中声明,并由视图生成。在views.py中,您可以执行大量应在上下文中发送到模板的后端工作。

© www.soinside.com 2019 - 2024. All rights reserved.