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'))

希望对您有所帮助。