我正在尝试使用 django 中的 URL 渲染到不同的页面,我也编写了所有代码作为教程,
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index,name="index"),
path('', views.register,name="register"),
path('', views.login,name="login")
]
def index(request):
print("hello index")
return render(request,'index.html')
def register(request):
return render(request,'register.html')
def login(request):
print("hello login")
return render(request,'login.html')
但是,每当我点击 HTML 上的注册链接时,它总是会将我带到 index.html。
<ul class="nav">
<li><a href="{% url 'index' %}"> Home</a></li>
<li><a href="{% url 'register' %}"> Register</a></li>
<li><a href="{% url 'login' %}"> Login</a></li>
</ul>
我也尝试过在路线中放一些东西
urlpatterns = [
path('admin/', admin.site.urls),
path('index', views.index,name="index"),
path('register', views.register,name="register"),
path('login', views.login,name="login")
]
但是这次它给出了诸如 空路径与其中任何一个都不匹配的错误。
我使用上述模式在不同的 django 项目上工作过,它工作得很好。我哪里做错了?任何帮助将不胜感激!
您对不同的视图使用相同的路径名。您需要为每个视图使用不同的路径。
例如:
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index,name="index"),
path('register/', views.register,name="register"),
path('login/', views.login,name="login")
]
def index(request):
print("hello index")
return render(request,'index.html')
def register(request):
return render(request,'register.html')
def login(request):
print("hello login")
return render(request,'login.html')