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'))
Надеюсь, это поможет.