KobbyAdarkwa
KobbyAdarkwa

Reputation: 181

URL http://localhost:8000/admin/ redirects to wrong page

I'm trying to reach the Django admin page but when I type in http://localhost:8000/admin/ it pops up with my web application instead.

For more context I have two url.py's in separate folders.

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('', views.project_list, name='list'),
    path('<slug:project_slug>/', views.project_detail, name='detail')
]

and...

from django.urls import path, include


urlpatterns = [
    path('', include('budget.urls')),
    path('admin/', admin.site.urls),

I'm not sure why http://localhost:8000/admin/ doesn't go to Django's admin page but if anyone has any suggestions that would be very much appreciated.

Upvotes: 1

Views: 803

Answers (2)

Gilbish Kosma
Gilbish Kosma

Reputation: 887

In your project level urls.py place admin url in top. Like this

urlpatterns = [
       path('admin/',admin.site.urls),
       path('',include('budget.urls'))
   ]

Upvotes: 4

Andrey Leontyev
Andrey Leontyev

Reputation: 451

Change urlpatterns order here:

from django.urls import path, include


urlpatterns = [
    path('', include('budget.urls')),
    path('admin/', admin.site.urls),

like this:

from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('budget.urls')),

In your code pattern path('<slug:project_slug>/', views.project_detail, name='detail') resolve before path('admin',admin.site.urls),.

See Django documentation

Upvotes: 1

Related Questions