TemplateDoesNotExist at/ на Django

У меня есть проект следующего содержания:

├── manage.py
├── myProjet
│   ├── __init__.py
│   ├── settings.py
│   ├── templates
│   ├── urls.py
│   ├── wsgi.py
│   └── wsgi.pyc
├── app1
├── templates

Когда я запускаю проект, я всегда получаю эту ошибку: TemplateDoesNotExist at/ Я перепробовал все, но не могу это исправить. Мой файл settings.py выглядит следующим образом:

BASE_DIR =  os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',
]


TEMPLATES = [
    {
       'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['templates'],
        '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',
            ],
        },
    },
]

Я пробовал много способов, но всегда получаю ошибку. Ошибка связана с функцией singUp. Функция выглядит следующим образом:

def SignupPage(request):
    if request.method=='POST':
        uname=request.POST.get('username')
        email=request.POST.get('email')
        pass1=request.POST.get('password1')
        pass2=request.POST.get('password2')

        if pass1!=pass2:
            return HttpResponse("Your password and confrom password are not Same!!")
        else:

            my_user=User.objects.create_user(uname,email,pass1)
            my_user.save()
            return redirect('login')
        



    return render (request,'signup.html')

Попробуйте заменить:

'DIRS': ['templates'],

By:

'DIRS': [os.path.join(BASE_DIR, 'templates')]

в TEMPLATES разделе.

Update

Попытка:

from django.http import HttpResponse
from django.template import loader

def SignupPage(request):
    template = loader.get_template('signup.html')

    # Your code here

    return HttpResponse(template.render(context, request))

Поскольку django использует pathlib, я бы выбрал

  "DIRS": [
            BASE_DIR / "templates"
        ],

в разделе settings.py шаблонов.

Вернуться на верх