Django创建登录界面使用LoginView视图导致的 TemplateDoesNotExist 问题

小白学习《python编程从入门到实践》,在使用django搭建登录界面时,出现了TemplateDoesNotExist的错误提示,在查阅相关资料后,发现大多数人要么是没设置路径(默认绝对路径),要么是template的位置或命名错误。

书中使用的是login这个视图函数,但是可能是因为版本问题,笔者使用的django2.x版本无法使用这个视图函数,查阅相关资料,发现可以使用LoginView视图函数。

笔者在此的错误与LoginView本身的视图函数定义有关,推测其设置的路径检查为

registration/login.html

因此,在改变了使用的视图函数后,创建的template文件夹内的文件,应该命名为registration,再次启动网页,登录界面一切正常。

把错误页面贴在下面:

TemplateDoesNotExist at /users/login/

registration/login.html
Request Method:GET
Request URL:http://localhost:8000/users/login/
Django Version:3.2.5
Exception Type:TemplateDoesNotExist
Exception Value:
registration/login.html
Exception Location:E:\programming project\learning_log\11_env\lib\site-packages\django\template\loader.py, line 47, in select_template
Python Executable:E:\programming project\learning_log\11_env\Scripts\python.exe
Python Version:3.7.7
Python Path:
['E:\\programming project\\learning_log',
 'E:\\programming\\python37.zip',
 'E:\\programming\\DLLs',
 'E:\\programming\\lib',
 'E:\\programming',
 'E:\\programming project\\learning_log\\11_env',
 'E:\\programming project\\learning_log\\11_env\\lib\\site-packages']
Server time:Thu, 12 Aug 2021 07:53:19 +0000

Template-loader postmortem

Django tried loading these templates, in this order:

Using engine django:

  • django.template.loaders.app_directories.Loader: E:\programming project\learning_log\11_env\lib\site-packages\django\contrib\admin\templates\registration\login.html (Source does not exist)
  • django.template.loaders.app_directories.Loader: E:\programming project\learning_log\11_env\lib\site-packages\django\contrib\auth\templates\registration\login.html (Source does not exist)
  • django.template.loaders.app_directories.Loader: E:\programming project\learning_log\learning_logs\templates\registration\login.html (Source does not exist)
  • django.template.loaders.app_directories.Loader: E:\programming project\learning_log\users\templates\registration\login.html (Source does not exist)

Traceback Switch to copy-and-paste view

  • E:\programming project\learning_log\11_env\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
    1.                 response = get_response(request)

    ▶ Local vars

  • E:\programming project\learning_log\11_env\lib\site-packages\django\core\handlers\base.py, line 204, in _get_response
    1.                 response = response.render()

    ▶ Local vars

  • E:\programming project\learning_log\11_env\lib\site-packages\django\template\response.py, line 105, in render
    1.             self.content = self.rendered_content

    ▶ Local vars

  • E:\programming project\learning_log\11_env\lib\site-packages\django\template\response.py, line 81, in rendered_content
    1.         template = self.resolve_template(self.template_name)

    ▶ Local vars

  • E:\programming project\learning_log\11_env\lib\site-packages\django\template\response.py, line 63, in resolve_template
    1.             return select_template(template, using=self.using)

    ▶ Local vars

  • E:\programming project\learning_log\11_env\lib\site-packages\django\template\loader.py, line 47, in select_template
    1.         raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)

    ▶ Local vars

Request information

USER

zhang

GET

No GET data

POST

No POST data

FILES

No FILES data

VariableValue
__guid
'111872281.2326555410605856000.1627807343301.2925'
csrftoken
'iNXd0BjjR9CavbaaiQbHh4blENIgKSWqqSOlO5m4cOA3AR2KBIn8UYYkUwzeepTw'
sessionid
'hivt919gvn33wol467oq0aj66lvd35cg'
monitor_count
'131'

META

VariableValue
ALLUSERSPROFILE
'C:\\ProgramData'
APPDATA
'C:\\Users\\zys\\AppData\\Roaming'
COMMONPROGRAMFILES
'C:\\Program Files\\Common Files'
COMMONPROGRAMFILES(X86)
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMW6432
'C:\\Program Files\\Common Files'
COMPUTERNAME
'DESKTOP-A70LBRE'
COMSPEC
'C:\\WINDOWS\\system32\\cmd.exe'
CONTENT_LENGTH
''
CONTENT_TYPE
'text/plain'
CSRF_COOKIE
'iNXd0BjjR9CavbaaiQbHh4blENIgKSWqqSOlO5m4cOA3AR2KBIn8UYYkUwzeepTw'
DJANGO_SETTINGS_MODULE
'learning_log.settings'
DRIVERDATA
'C:\\Windows\\System32\\Drivers\\DriverData'
FPS_BROWSER_APP_PROFILE_STRING
'Internet Explorer'
FPS_BROWSER_USER_PROFILE_STRING
'Default'
GATEWAY_INTERFACE
'CGI/1.1'
HOMEDRIVE
'C:'
HOMEPATH
'\\Users\\zys'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
HTTP_ACCEPT_ENCODING
'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE
'zh-CN,zh;q=0.9'
HTTP_CACHE_CONTROL
'max-age=0'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
('__guid=111872281.2326555410605856000.1627807343301.2925; '
 'csrftoken=iNXd0BjjR9CavbaaiQbHh4blENIgKSWqqSOlO5m4cOA3AR2KBIn8UYYkUwzeepTw; '
 'sessionid=hivt919gvn33wol467oq0aj66lvd35cg; monitor_count=131')
HTTP_HOST
'localhost:8000'
HTTP_SEC_FETCH_DEST
'document'
HTTP_SEC_FETCH_MODE
'navigate'
HTTP_SEC_FETCH_SITE
'none'
HTTP_SEC_FETCH_USER
'?1'
HTTP_UPGRADE_INSECURE_REQUESTS
'1'
HTTP_USER_AGENT
('Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
 'Chrome/86.0.4240.198 Safari/537.36')
LOCALAPPDATA
'C:\\Users\\zys\\AppData\\Local'
LOGONSERVER
'\\\\DESKTOP-A70LBRE'
NUMBER_OF_PROCESSORS
'4'
ONEDRIVE
'C:\\Users\\zys\\OneDrive'
OS
'Windows_NT'
PATH
('E:\\programming '
 'project\\learning_log\\11_env\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;E:\\MATLAB2017b\\runtime\\win64;E:\\MATLAB2017b\\bin;E:\\programming\\Scripts\\;E:\\programming\\;E:\\python\\Scripts;C:\\Users\\zys\\AppData\\Local\\Microsoft\\WindowsApps;E:\\程序员预备役\\Microsoft '
 'VS Code\\bin;E:\\PyCm18_CN_x64\\PyCharm '
 '2018.3.7\\bin;;E:\\programming\\Scripts;')
PATHEXT
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
PATH_INFO
'/users/login/'
PROCESSOR_ARCHITECTURE
'AMD64'
PROCESSOR_IDENTIFIER
'Intel64 Family 6 Model 158 Stepping 9, GenuineIntel'
PROCESSOR_LEVEL
'6'
PROCESSOR_REVISION
'9e09'
PROGRAMDATA
'C:\\ProgramData'
PROGRAMFILES
'C:\\Program Files'
PROGRAMFILES(X86)
'C:\\Program Files (x86)'
PROGRAMW6432
'C:\\Program Files'
PROMPT
'(11_env) $P$G'
PSMODULEPATH
('C:\\Program '
 'Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules')
PUBLIC
'C:\\Users\\Public'
PYCHARM
'E:\\PyCm18_CN_x64\\PyCharm 2018.3.7\\bin;'
QUERY_STRING
''
REMOTE_ADDR
'127.0.0.1'
REMOTE_HOST
''
REQUEST_METHOD
'GET'
RUN_MAIN
'true'
SCRIPT_NAME
''
SERVER_NAME
'DESKTOP-A70LBRE'
SERVER_PORT
'8000'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.2'
SESSIONNAME
'Console'
SYSTEMDRIVE
'C:'
SYSTEMROOT
'C:\\WINDOWS'
TEMP
'C:\\Users\\zys\\AppData\\Local\\Temp'
TMP
'C:\\Users\\zys\\AppData\\Local\\Temp'
USERDOMAIN
'DESKTOP-A70LBRE'
USERDOMAIN_ROAMINGPROFILE
'DESKTOP-A70LBRE'
USERNAME
'zys'
USERPROFILE
'C:\\Users\\zys'
VIRTUAL_ENV
'E:\\programming project\\learning_log\\11_env'
WINDIR
'C:\\WINDOWS'
_OLD_VIRTUAL_PATH
('C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;E:\\MATLAB2017b\\runtime\\win64;E:\\MATLAB2017b\\bin;E:\\programming\\Scripts\\;E:\\programming\\;E:\\python\\Scripts;C:\\Users\\zys\\AppData\\Local\\Microsoft\\WindowsApps;E:\\程序员预备役\\Microsoft '
 'VS Code\\bin;E:\\PyCm18_CN_x64\\PyCharm '
 '2018.3.7\\bin;;E:\\programming\\Scripts;')
_OLD_VIRTUAL_PROMPT
'$P$G'
wsgi.errors
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
wsgi.file_wrapper
<class 'wsgiref.util.FileWrapper'>
wsgi.input
<django.core.handlers.wsgi.LimitedStream object at 0x000002174DC41308>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)

Settings

Using settings module learning_log.settings

SettingValue
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
[]
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'auth.User'
BASE_DIR
'E:\\programming project\\learning_log'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
'csrftoken'
CSRF_COOKIE_PATH
'/'
CSRF_COOKIE_SAMESITE
'Lax'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.sqlite3',
             'HOST': '',
             'NAME': 'E:\\programming project\\learning_log\\db.sqlite3',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_AUTO_FIELD
'django.db.models.AutoField'
DEFAULT_CHARSET
'utf-8'
DEFAULT_EXCEPTION_REPORTER
'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_HASHING_ALGORITHM
'sha256'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
'********************'
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
420
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'learning_logs',
 'users']
INTERNAL_IPS
[]
LANGUAGES
[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ar-dz', 'Algerian Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('ig', 'Igbo'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('ky', 'Kyrgyz'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('tg', 'Tajik'),
 ('th', 'Thai'),
 ('tk', 'Turkmen'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_HTTPONLY
False
LANGUAGE_COOKIE_NAME
'django_language'
LANGUAGE_COOKIE_PATH
'/'
LANGUAGE_COOKIE_SAMESITE
None
LANGUAGE_COOKIE_SECURE
False
LOCALE_PATHS
[]
LOGGING
{}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
''
MEDIA_URL
'/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
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.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT
'********************'
PASSWORD_RESET_TIMEOUT_DAYS
'********************'
PREPEND_WWW
False
ROOT_URLCONF
'learning_log.urls'
SECRET_KEY
'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
True
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_REFERRER_POLICY
'same-origin'
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SAMESITE
'Lax'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'learning_log.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
[]
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
TEMPLATES
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [],
  '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']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'UTC'
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'learning_log.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Django创建登录界面,你可以按以下步骤进行操作: 1. 创建Django项目并进入项目目录。 2. 在项目目录下创建一个应用,可以使用以下命令: ``` python manage.py startapp accounts ``` 3. 在应用的目录中,创建一个名为 `urls.py` 的文件,并添加以下代码: ```python from django.urls import path from . import views urlpatterns = [ path('login/', views.login_view, name='login') ] ``` 4. 在应用的目录中,创建一个名为 `views.py` 的文件,并添加以下代码: ```python from django.shortcuts import render def login_view(request): return render(request, 'accounts/login.html') ``` 5. 在应用的目录中,创建一个名为 `templates` 的文件夹。在 `templates` 文件夹中创建一个名为 `accounts` 的文件夹,然后在 `accounts` 文件夹中创建一个名为 `login.html` 的模板文件。在 `login.html` 中编写登录界面的HTML代码。 6. 在项目的主 `urls.py` 文件中,将应用的URL配置添加到项目的URL配置中。在 `urlpatterns` 列表中添加以下代码: ```python from django.urls import include urlpatterns = [ # 其他URL配置... path('accounts/', include('accounts.urls')), ] ``` 7. 运行Django开发服务器,可以使用以下命令: ``` python manage.py runserver ``` 现在,你可以通过访问 `http://localhost:8000/accounts/login/` 来查看你的登录界面。记得在实际项目中,你需要添加相应的表单验证和处理逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值