请求 /admin 但 return 到同一页面

Requesting /admin but return to the same page

你好,我想解决一个问题,我现在正在使用 django,问题是当我尝试去管理区域登录时 returns 我到同一个 index.html 页面 我的代码:

urls.py 在主文件夹上

from django.conf.urls import url,include
from django.contrib import admin
from first_app import views
urlpatterns = [
    url('',views.index,name="index"),
    url('first_app/',include('first_app.urls')),
    url('admin/', admin.site.urls)
]

urls.py first_app 文件夹

urlpatterns = [
    url('',views.index,name="index")
]

first_app 文件夹中的 views.py

def index(request):
    my_dic = {'insert_me':"Hello Jinja"}
    return render(request,'index.html',my_dic)

index.html 文件

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="{% static 'css/style.css'%}">
    <title>Django  Page</title>
</head>
<body>
    <p>{{ insert_me}}</p>
    <h1>a picture </h1>
</body>
</html>

您将 pathurl 混淆了,如果您使用 Django < 2.0,则将 url 与正则表达式一起使用,如下所示:

from django.conf.urls import include, url

urlpatterns = [

    url(r'^admin/', include(admin.site.urls)),
    url(r'^first_app/', include('first_app.urls')),
    url(r'^*$', views.index, name='index'),
    ...
]

如果您使用的是 Django >= 2.0,那么可以这样使用:

from django.urls import include, path

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

可以在 documentation 中找到更多信息。