我正在编写一个初学者Django应用程序。我目前能够使用我创建的第一个应用程序。但是,我无法弄清楚如何访问其他两个应用程序。
swiss (project)
|_ app_picker (default app)
|_ eft
|_ servermon
字符串
我现在可以通过输入127.0.0.1:8000/app_picker/来访问app_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')),
]
型
app_picker 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'),
]
型
电子邮件地址
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'),
]
型
- 左视图**
from django.shortcuts import render
# Create your views here.
def base(request):
return render(request, 'eft_base.html')
型
servermon URL
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')
型
3条答案
按热度按时间klh5stk11#
在
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。
kuarbcqp2#
这是因为你的路径定义与你预期的结果不一样。
EFT URL应该是这样的:
字符串
和servermon URL:
型
这是因为当你访问
172.0.0.1:8000/servermon/
时,django会去ROOT_URLS(Project Urls)匹配路径。找到/servermon/
,然后它会在url中提取这部分,然后去include('servermon.urls')
旁边。提取匹配的部分后,现在它只剩下''
了,所以你的servermon路径应该像上面一样。vybvopom3#
你是否在项目urls.py文件中包含了'etf'和'servermon' URL?
字符串