Django 3.2.9 Url Path İmportError

Я создал проект django под названием "blogprojesi". Я хочу импортировать файл urls.py из приложения, которое я создал с именем "inf", в файл urls.py из этого проекта, но я получаю следующую ошибку ImportError: cannot import name 'inf' from 'blogprojesi' (.....\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)

Если я правильно понимаю структуру вашего проекта и ваш вопрос, у вас есть проект под названием blogprojesi и приложение под названием inf. Нет необходимости импортировать урлы таким образом, это можно и обычно делается по-другому.

Итак, в вашем файле 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 может остаться как есть. Я не тестировал это, но это должно работать. Есть и другие возможности, но это должно сработать.

BTW, ваш код также может работать, но путь, включающий урлы из inf-приложения, имеет ошибку. Возможно, сработает что-то похожее на это:

re_path('', include('inf.urls'))

Надеюсь, это поможет.

Вернуться на верх