我的Django网站不能正常工作。这很难解释,但当我运行Django web服务器并访问http://127.0.0.1:8000/hello/时,我看到"Hello, World!"像预期的那样。但是当我访问http://127.0.0.1:8000/dashboard/时,我看到了同样的东西,当我应该看到&;hello &;时。有太多的代码放在堆栈溢出上,它不会有意义,所以我做了一个GitHub repo https://github.com/Unidentified539/stackoverflow。
让你的生活更简单
urlpatterns = [
path("",views.pomo,name="pomo"),
path("agenda/",views.agenda,name="agenda"),
path("notes/",views.notes,name="notes"),
]
这是你的应用程序中的url .py文件
只要在你的项目url .py中输入这个,这样你就不会弄乱路径和include
urlpatterns = [
path('admin/', admin.site.urls),
path("",include('pomofocus.urls'))
]
这只是一个例子,你需要输入你自己的路径和视图
你的代码有什么问题?
根据你的代码,你有两个相同的主页路径,当你输入http://127.0.0.1:8000/hello/
时,Django查看项目级urls.py(在你的代码djjangoproject1/urls.py中),并且知道它必须在应用级urls.py中(在你的代码实践/urls.py中),在这个文件中,你有两个相同的路径。而Django使用第一个所以你得到的是写页面,因为第一个与hello视图有关当你输入http://127.0.0.1:8000/dashboard/
时,Django再次查看项目级urls。py它知道必须进入应用级urls。py在这个文件中再次使用第一个路径你得到的是错误的HTML文件(因为两个路径是相同的,Django总是使用第一个路径)
如何解决这个问题?
在项目级url.py中设置两个路径为",在应用级设置项目级路径。(换句话说,替换应用级和项目级
中的路径)djangoProject1/urls . py:
import practice.urls
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('practice.urls')),
]
实践/urls . py:
from django.urls import path
from practice import views
urlpatterns = [
path('hello/', views.hello_world, name='hello_world'),
path('dashboard/', views.dashboard, name='dashboard')
]
你的代码应该像
practice/urls.py
from django.urls import path
from practice import views
urlpatterns = [
path(" ", views.hello_world, name='hello_world'),
path("dashboard", views.dashboard, name='dashboard')
]
Project1 urls . py
import practice.urls
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path(" ", include('practice.urls')),
]