Home > Net >  Page 404 error after running Django server
Page 404 error after running Django server

Time:09-10

I have just started learning django and was trying to make a smartnotes App project by following a course. I updated the setting.py file to add website into Instaled_Apps. Then have written a function named home in views.py Finally I added it's entry into urls.py fie "welcome.html is insdie homeApp/templates/home directory" But when I run the server, I am getting following error on webpage:

views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpRequest


# Create your views here.

def home(request):
    return render(request, 'home/welcome.html', {})

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # apps that I created
    'home',
]

urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home', views.home),
]

welcome.html

    <title>
        welcome Page
    </title> </head> <body>
        <h1>Hello world !!!</h1>
        <h2>this is my first ever django project....</h2> </body> </html> ``` 



> **error its show is**
> 
> Page not found (404) Request Method:  GET Request URL:
>   http://127.0.0.1:8000/
> 
> Using the URLconf defined in smartappProject.urls, Django tried these
> URL patterns, in this order:
> 
>     admin/
>     home
> 
> The empty path didn’t match any of these.

CodePudding user response:

Look at your urlpatterns:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home', views.home),
]

You haven't set the path for real "home" page, which should be "". Change it to:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home),
]

And you will be fine. The first argument in parenthesis is real "value" that you need to provide just after the domain (http://localhost:8000/ with local service).

  • Related