我正在写一个初学者Django应用程序。我现在可以下载我创建的第一个应用程序。但是,我不知道如何访问其他两个应用程序
swiss (project)
|_ app_picker (default app)
|_ eft
|_ servermon
我当前可以通过键入127.0.0.1:8000/app\u picker/访问app\u picker。但是当我键入127.0.0.1:8000/eft或172.0.0.1:8000/servermon时,找不到页面。我的Django配置有什么不懂的
已安装的应用程序
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_picker',
'etf',
'servermon',
]
项目URL
from django.contrib import admin
from django.urls import path
from django.views.generic import RedirectView
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('app_picker/', include('app_picker.urls')),
path('etf/', include('etf.urls')),
path('servermon/', include('servermon.urls')),
path('', RedirectView.as_view(url='app_picker/', permanent=True)),
]
#Add Django site authentication urls (for login, logout, password management)
urlpatterns += [
path('accounts/', include('django.contrib.auth.urls')),
]
应用程序选取器URL
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
eft网址
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from . import views
urlpatterns = [
path('eft/', views.base, name='eft_base'),
]
eft视图
from django.shortcuts import render
# Create your views here.
def base(request):
return render(request, 'eft_base.html')
servermon网址
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from . import views
urlpatterns = [
path('servermon/', views.base, name='servermon_base'),
]
servermon视图
from django.shortcuts import render
# Create your views here.
def base(request):
return render(request, 'servermon_base.html')
这是因为您的路径定义与预期结果不同
eft URL应如下所示:
和servermon URL:
这是因为当您访问
172.0.0.1:8000/servermon/
时,django将转到根URL(项目URL)以匹配路径。找到/servermon/
,然后它将在url中提取此部分,然后转到include('servermon.urls')
旁边。在提取匹配的部分之后,现在它只有''
,所以您的servermon路径应该如上所示在
etf.urls.py
更改中:收件人:
然后访问:
类似地,在
servermon.urls.py
变化中:收件人:
然后访问:
在不更改这些文件的情况下,如果要访问,则需要使用:
从url
eft/eft/
中:匹配第一个
eft/
,然后继续搜索etf.urls.py
中的剩余部分eft/
:匹配剩余部分
eft/
,并且views.base
用于处理请求同样地,对于另一种用途:
您可能需要阅读:URL dispatcher和django.urls functions for use in URLconfs
相关问题 更多 >
编程相关推荐