【发布时间】:2021-07-13 18:03:47
【问题描述】:
我是 Django 的新手。 我正在使用 HTML 模板制作侧边栏。每当我单击子菜单按钮时,都会使用 # 生成 URL,例如 http://localhost:8000/#form .手动删除 # 时 forms 工作正常。
这是我的 HTML 代码:
<!-- ========== Left Sidebar Start ========== -->
<div class="vertical-menu">
<div data-simplebar class="h-100">
<!--- Sidemenu -->
<div id="sidebar-menu">
<!-- Left Menu Start -->
<ul class="metismenu list-unstyled" id="side-menu">
<li class="menu-title">Main</li>
<li>
<a href="javascript: void(0);" class="waves-effect">
<span class="badge rounded-pill bg-primary float-end">20+</span>
<i class="mdi mdi-view-dashboard"></i>
<span> Dashboard </span>
</a>
<ul class="sub-menu" aria-expanded="false">
<li><a href="index.html">Dashboard One</a></li>
<li><a href="form">Form</a></li>
</ul>
</li>
<li>
<a href="widgets.html" class="waves-effect">
<i class="mdi mdi-cube-outline"></i>
<span> Widgets </span>
</a>
</li>
.
.
.
这是我的 urls.py 代码:
from django.urls import path, include
from .import views
urlpatterns = [
path('', views.index, name="index"),
path('form', views.form, name="form"),
]
这是我的views.py代码:
from django.shortcuts import render, redirect
def index(request):
return render(request, 'index.html', {})
def form(request):
return render(request, 'form.html', {})
【问题讨论】:
-
你应该使用url template tag
-
using href="{% url 'form' %}" 正在生成localhost:8000/#/form
-
我会说你有一些 javascript 修改你的锚标签,你没有在你的问题中显示。
-
@AbdulAzizBarkat 你能告诉我在哪里可以找到它,以便我可以检查代码。
-
我认为,你必须使用 django 路由链接,而不是文件名 (index.html) docs.djangoproject.com/en/3.2/topics/http/urls
标签: javascript python html css django