我有一个Django项目,其中有两个不同的Django应用程序MyApp1和MyApp2(更改了名称)。
结构是这样的:
MyProject
MyApp1
static
templates
urls.py
views.py
...
MyProject
settings.py
urls.py
...
我将MyApp2作为一个单独的应用程序编写在另一个Django项目中,并将其与MyProject项目集成在一起(pip install MyApp2)。这是settings.py文件中已安装的应用程序:
# Application definition
INSTALLED_APPS = [
'MyApp1',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'MyApp2',
]
这些是MyProject的以下路径(urls.py)。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp1/', include('myapp1.urls')),
path('', include('myapp1.urls')),
path('myapp2/',include('myapp2.urls')),
]
这些是MyApp1的以下路径(urls.py):
from django.urls import path
from . import views
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('about/', views.about, name='about'),
path('contact/', views.contact, name='contact'),
]
这些是MyApp2的以下路径(urls.py):
from django.urls import path
from . import views
urlpatterns = [
path('', views.login, name='login'),
path('index', views.home, name='home'),
path('dashboard_output', views.dashboard_output, name='dashboard_output'),
path('login', views.login, name='login'),
]
在浏览器上,如果我键入http://127.0.0.1:8000/或http://127.0.0.1:8000/myapp1,则可以看到MyApp1的视图。
在浏览器上,如果我输入http://127.0.0.1:8000/myapp2,则会看到MyApp2的视图(登录页面)。>>
到目前为止,很好,但是如果我键入http://127.0.0.1:8000/myapp2/index,系统会将我定向到myapp1的视图,而不是myapp2的视图。我究竟做错了什么?有什么想法吗?
我有一个Django项目,其中有两个不同的Django应用程序MyApp1和MyApp2(更改了名称)。结构是这样的:MyProject MyApp1静态模板...
我终于找到了引起问题的原因。它与模板有关。看看这个:https://www.webforefront.com/django/customizedjangotemplates.html