Как импортировать несколько представлений для urls.py?

Мне нужно импортировать представления из horoscopes и dates. но при импорте их в urls.py возникает конфликт, из-за которого воспринимается только одно представление. вот и вопрос, как мне импортировать несколько представлений?

`

from django.contrib import admin
from django.urls import path
import horoscopes
import dates
urlpatterns = [
    path('admin/', admin.site.urls),
    path('horoscopes/leon', horoscopes.views.monday),
    path('dates/monday', dates.views.monday),
]

`

Я пробовал оба варианта и:

`

import horoscopes
import dates
urlpatterns = [
    path('admin/', admin.site.urls),
    path('horoscopes/leon', horoscopes.views.monday),
    path('dates/monday', dates.views.monday),

`

а также: `

from django.contrib import admin
from django.urls import path
from horoscopes import views as horoscopes_views
from dates import views as dates_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('horoscopes/leon', views.leon),
    path('dates/monday', views.monday),
]

`

оба варианта игнорируют один из видов

Как подсказал voodoo-burger, браузер может отображать только одну страницу одновременно. Поэтому либо переименуйте ваши URL в более конкретные имена, чтобы различать представления, либо ищите URL Namespacing.

Из документации Django:

from django.urls import path

from . import views

app_name = 'polls'
urlpatterns = [
    path('', views.IndexView.as_view(), name='index'),
    path('<int:pk>/', views.DetailView.as_view(), name='detail'),
    ...
]

Затем назовите ваш URL следующим образом:

reverse('polls:index', current_app=self.request.resolver_match.namespace)

Вы можете попробовать следующий код

from django.contrib import admin
from django.urls import path
from horoscopes import views as horoscopes_views
from dates import views as dates_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('horoscopes/leon', horoscopes_views.leon),
    path('dates/monday', horoscopes_views.monday),
]

Я нашел наиболее оптимальное решение своей проблемы, и оно заключалось в создании в каждом приложении отдельного файла urls.py, отдельно добавляя туда все адреса URL в таком виде:

в каждом из моих приложений необходимые гороскопы и я добавил отдельный файл под названием urls.py и ввел в него следующее:

 from django.urls, import the path
 from . import views # the dot indicates that we are referring to the directive in which the file is located

 urlpatterns = [
 path('scorpion/', views.scorpion),
 path('leon/', views.leon),
 ]

и по тому же сценарию, я добавил в другое приложение для url

from django.utils, import the path
from . import views

urlpatterns = [
path('monday/', views.monday),
]

Основной включает приложение urls.py оно выглядит так:

from django.contrib, import admin
from the django.utils import path, including

urlpatterns = [
path('admin/', admin.site.urls),
path('horoscopes/', include("horoscopes.urls")),
path('dates/', include("dates.urls")),
]
Вернуться на верх