Django 3.2.9 Url 路径错误
Django 3.2.9 Url Path İmportError
我创建了一个名为“blogprojesi”的 Django 项目。我想将我创建的名为“inf”的应用程序中的 urls.py 文件导入该项目中的 urls.py 文件,但出现以下错误
导入错误:无法从 'blogprojesi' 导入名称 'inf' (.....\blogprojesi\blogprojesi_init_.py)
我猜它以某种方式看不到 inf 应用程序。
我尝试了 Re_path 方法,但没有用。我该如何解决?
**urls.py file inside the "blogprojesi"**
from django.contrib import admin
from django.urls import path,include
from blogprojesi import inf
from blogprojesi.inf import urls
urlpatterns = [
path('admin/', admin.site.urls),
path('',inf,include('inf.urls')),
]
**Contents of urls.py file inside inf application**
from django.urls import path
from . import views
urlpatterns = [
path("",views.index),
path("index",views.index),
path("blogs",views.blogs),
path("blogs/<int:id>",views.blog_details),
]
**Contents of views.py file inside inf application**
from http.client import HTTPResponse
from django.http.response import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse("Home Page")
def blogs(request):
return HttpResponse("blogs")
def blog_details(request,id):
return HttpResponse("blog detail: "+id)
Directory structure photo
如果我很了解你的项目结构和你的问题,你有一个名为 blogprojesi 的项目和一个名为 inf 的应用程序。不需要以这种方式导入 url,它可以而且通常以不同的方式完成。
所以,在你的 blogprojesi/urls.py 文件中你应该有类似 thins 的东西(连同你需要的其他东西):
from django.contrib import admin
from django.urls import path,include
from blogprojesi.inf import urlpatterns as inf_urlpatterns
urlpatterns = [
path('admin/', admin.site.urls),
] + inf_urlpatterns
并且 inf/urls.py 可以保持原样。
我没有测试过这个,但它应该可以工作。
还有其他可能性,但这应该可行。
顺便说一句,您的代码也可以工作,但是包含来自 inf 应用程序的 url 的路径有错误。也许符合这个的东西可能会起作用:
re_path('', include('inf.urls'))
希望对您有所帮助。
我创建了一个名为“blogprojesi”的 Django 项目。我想将我创建的名为“inf”的应用程序中的 urls.py 文件导入该项目中的 urls.py 文件,但出现以下错误 导入错误:无法从 'blogprojesi' 导入名称 'inf' (.....\blogprojesi\blogprojesi_init_.py)
我猜它以某种方式看不到 inf 应用程序。 我尝试了 Re_path 方法,但没有用。我该如何解决?
**urls.py file inside the "blogprojesi"**
from django.contrib import admin
from django.urls import path,include
from blogprojesi import inf
from blogprojesi.inf import urls
urlpatterns = [
path('admin/', admin.site.urls),
path('',inf,include('inf.urls')),
]
**Contents of urls.py file inside inf application**
from django.urls import path
from . import views
urlpatterns = [
path("",views.index),
path("index",views.index),
path("blogs",views.blogs),
path("blogs/<int:id>",views.blog_details),
]
**Contents of views.py file inside inf application**
from http.client import HTTPResponse
from django.http.response import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse("Home Page")
def blogs(request):
return HttpResponse("blogs")
def blog_details(request,id):
return HttpResponse("blog detail: "+id)
Directory structure photo
如果我很了解你的项目结构和你的问题,你有一个名为 blogprojesi 的项目和一个名为 inf 的应用程序。不需要以这种方式导入 url,它可以而且通常以不同的方式完成。
所以,在你的 blogprojesi/urls.py 文件中你应该有类似 thins 的东西(连同你需要的其他东西):
from django.contrib import admin
from django.urls import path,include
from blogprojesi.inf import urlpatterns as inf_urlpatterns
urlpatterns = [
path('admin/', admin.site.urls),
] + inf_urlpatterns
并且 inf/urls.py 可以保持原样。 我没有测试过这个,但它应该可以工作。 还有其他可能性,但这应该可行。
顺便说一句,您的代码也可以工作,但是包含来自 inf 应用程序的 url 的路径有错误。也许符合这个的东西可能会起作用:
re_path('', include('inf.urls'))
希望对您有所帮助。