Sunday, March 10, 2019

Why the pages can't get show in my Django CRUD application?

I try to learn Django CRUD from this tutorial: https://www.javatpoint.com/django-crud-example My Django version is 2.1.7 and my IDE is VisualStudio. When I run the project all the pages have an error. the error cames bellow.

 TemplateDoesNotExist at /index  show.html  Request Method: GET  Request URL:    http://localhost:52322/index  Django Version: 2.1.7  Exception Type: TemplateDoesNotExist  Exception Value:      show.html  Exception Location: E:\Django_Try\DjangoWebProject5\DjangoWebProject5\env\lib\site-packages\django\template\loader.py in get_template, line 19  Python Executable:  E:\Django_Try\DjangoWebProject5\DjangoWebProject5\env\Scripts\python.exe  Python Version: 3.6.6  Python Path:      ['E:\\Django_Try\\DjangoWebProject5\\DjangoWebProject5',   '',   'E:\\Django_Try\\DjangoWebProject5\\DjangoWebProject5',   'E:\\Django_Try\\DjangoWebProject5\\DjangoWebProject5\\env\\Scripts\\python36.zip',   'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\DLLs',   'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib',   'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64',   'E:\\Django_Try\\DjangoWebProject5\\DjangoWebProject5\\env',   'E:\\Django_Try\\DjangoWebProject5\\DjangoWebProject5\\env\\lib\\site-packages']  Server time:    Tue, 5 Mar 2019 22:43:24 +0000

I add my Urls bellow:

from django.conf.urls import include, url  from django.contrib import admin    from django.urls import path    from employee import views      urlpatterns = [        path('index', views.show),       path('admin/', admin.site.urls),        path('emp', views.emp),        path('show',views.show),        path('edit/<int:id>', views.edit),       path('update/<int:id>', views.update),        path('delete/<int:id>', views.destroy),    ]

View:

from django.shortcuts import render, redirect    from employee.forms import EmployeeForm    from employee.models import Employee    # Create your views here.    def emp(request):        if request.method == "POST":            form = EmployeeForm(request.POST)            if form.is_valid():                try:                    form.save()                    return redirect('/show')                except:                    pass        else:            form = EmployeeForm()        return render(request,'index.html',{'form':form})    def show(request):        employees = Employee.objects.all()        return render(request,"show.html",{'employees':employees})    def edit(request, id):        employee = Employee.objects.get(id=id)        return render(request,'edit.html', {'employee':employee})    def update(request, id):        employee = Employee.objects.get(id=id)        form = EmployeeForm(request.POST, instance = employee)        if form.is_valid():            form.save()            return redirect("/show")        return render(request, 'edit.html', {'employee': employee})    def destroy(request, id):        employee = Employee.objects.get(id=id)        employee.delete()        return redirect("/show") 

setting:

"""  Django settings for DjangoWebProject5 project.    Generated by 'django-admin startproject' using Django 1.9.1.    For more information on this file, see  https://docs.djangoproject.com/en/1.9/topics/settings/    For the full list of settings and their values, see  https://docs.djangoproject.com/en/1.9/ref/settings/  """    import os  import posixpath    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)  BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))      # Quick-start development settings - unsuitable for production  # See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/    # SECURITY WARNING: keep the secret key used in production secret!  SECRET_KEY = '65ccf984-10e5-4c13-ab4d-9c0cf30e8b04'    # SECURITY WARNING: don't run with debug turned on in production!  DEBUG = True    ALLOWED_HOSTS = []      # Application definition    INSTALLED_APPS = [      # Add your apps here to enable them      'employee',        'django.contrib.admin',      'django.contrib.auth',      'django.contrib.contenttypes',      'django.contrib.sessions',      'django.contrib.messages',      'django.contrib.staticfiles',  ]    MIDDLEWARE = [      'django.middleware.security.SecurityMiddleware',      'django.contrib.sessions.middleware.SessionMiddleware',      'django.middleware.common.CommonMiddleware',      'django.middleware.csrf.CsrfViewMiddleware',      'django.contrib.auth.middleware.AuthenticationMiddleware',      #'django.contrib.auth.middleware.SessionAuthenticationMiddleware',      'django.contrib.messages.middleware.MessageMiddleware',      'django.middleware.clickjacking.XFrameOptionsMiddleware',  ]    ROOT_URLCONF = 'DjangoWebProject5.urls'    TEMPLATES = [      {          'BACKEND': 'django.template.backends.django.DjangoTemplates',          'DIRS': [],          'APP_DIRS': True,          'OPTIONS': {              'context_processors': [                  'django.template.context_processors.debug',                  'django.template.context_processors.request',                  'django.contrib.auth.context_processors.auth',                  'django.contrib.messages.context_processors.messages',              ],          },      },  ]    WSGI_APPLICATION = 'DjangoWebProject5.wsgi.application'      # Database  # https://docs.djangoproject.com/en/1.9/ref/settings/#databases    DATABASES = {      'default': {          'ENGINE': 'django.db.backends.sqlite3',          'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),      }  }      # Password validation  # https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators    AUTH_PASSWORD_VALIDATORS = [      {          'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',      },      {          'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',      },      {          'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',      },      {          'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',      },  ]      # Internationalization  # https://docs.djangoproject.com/en/1.9/topics/i18n/    LANGUAGE_CODE = 'en-us'    TIME_ZONE = 'UTC'    USE_I18N = True    USE_L10N = True    USE_TZ = True      # Static files (CSS, JavaScript, Images)  # https://docs.djangoproject.com/en/1.9/howto/static-files/    STATIC_URL = '/static/'    STATIC_ROOT = posixpath.join(*(BASE_DIR.split(os.path.sep) + ['static']))

the project structure is completely like the tutorial an image cames bellow:

My structure screenshot:

https://drive.google.com/open?id=1xRB0xcnkplZ4ktiyEblkMVeyJ1SpATDc

I think the error says the template does not exist but the templates exist. Please inform me what is wrong in my application.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/05df68ff-8e74-40ec-b573-eadd68f66bcd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment