Notei que temos dois arquivos chamados url.py , porem ainda nao entendi a diferença deles
Notei que temos dois arquivos chamados url.py , porem ainda nao entendi a diferença deles
Boa tarde Rodrigo! Tudo bem com você?
Ótima pergunta. No Django, temos dois arquivos urls.py
que desempenham papeis diferentes:
urls.py no diretório do projeto: Este arquivo é responsável por definir as URLs principais do seu projeto Django. Ele inclui as URLs de cada aplicativo (app) que você criou dentro do projeto. Pense nele como o roteador principal que direciona o tráfego para os diferentes apps do seu projeto.
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('galeria/', include('galeria.urls')), # Inclui as URLs do app 'galeria'
]
urls.py no diretório do aplicativo (app): Este arquivo é específico para cada app dentro do seu projeto. Ele define as URLs que são específicas para aquele app. Assim, você pode ter um arquivo urls.py
dentro do diretório de cada app, que organiza as rotas específicas daquele app.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('imagem/<int:foto_id>/', views.imagem, name='imagem'),
path('buscar/', views.buscar, name='buscar'),
]
A ideia por trás dessa separação é modularizar o projeto, para facilitar a manutenção e a escalabilidade. Assim, cada app pode gerenciar suas próprias rotas sem interferir diretamente nas rotas de outros apps.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!