【问题标题】:Can't refer to Django templates无法引用 Django 模板
【发布时间】: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.pyBASEDIR2 = 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


    【解决方案1】:

    该设置名为TEMPLATES,是复数形式,但您的帖子显示为TEMPLATE

    【讨论】:

    • 未定位的 django 模板错误。解决完毕
    猜你喜欢
    • 2017-10-19
    • 1970-01-01
    • 2015-06-04
    • 2012-01-12
    • 2015-11-10
    • 2021-04-08
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多