【发布时间】:2021-06-16 17:26:00
【问题描述】:
以下是我使用 Django 创建的目录
isap/users 需要从 isap/isap/templates/users/login.html 获取模板
isap/
L isap
L templates
L users
L login.html
L ....
L ....
L .....
L ...
L users
L views.py
L urls.py
所以,我在settings.py 和BASEDIR2 = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + '\\isap' 中添加了TEMPLATE = [{..., "DIRS": [os.path.join(BASEDIR2, "templates/")],APP_DIRS=True,....}]
另外,我已经添加了应用程序
PROJECT_APPS = [isap.apps.IsapConfig, users.apps.UsersConfig, ...]
但是,会产生 404(Page not found) 错误。
下面是我的 users/views.py
import os
import requests
from django.utils import translation
from django.http import HttpResponse
from django.contrib.auth.views import PasswordChangeView
from django.views.generic import FormView, DetailView, UpdateView
from django.urls import reverse_lazy
from django.shortcuts import redirect, reverse
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.core.files.base import ContentFile
from django.contrib import messages
from django.contrib.messages.views import SuccessMessageMixin
from . import forms, models, mixins
class LoginView(mixins.LoggedOutOnlyView, FormView):
template_name = "users/login.html"
form_class = forms.LoginForm
def form_valid(self, form):
email = form.cleaned_data.get("email")
password = form.cleaned_data.get("password")
user = authenticate(self.request, username=email, password=password)
if user is not None:
login(self.request, user)
return super().form_valid(form)
def get_success_url(self):
next_arg = self.request.GET.get("next")
if next_arg is not None:
return next_arg
else:
return reverse("core:home")
如何将模板链接到 isap/users/views.py?
【问题讨论】:
标签: python-3.x django django-views django-templates directory-structure