{% endblock content %}
# vim learning_logs/templates/learning_logs/topic.html
{% extends 'learning_logs/base.html' %}{% block content %}Topic: {{ topic }}
Entries:
add new entry
{% for entry in entries %}
{% endblock content %}
{{ entry.text|linebreaks }}
edit entry
将编辑链接放在每个条目的日期和文本后面 。在循环中 , 使用模板标签{% url %}根据URL模式和当前条目的ID属性entry.id来确定URL 。链接文本为"edit entry" , 它出现在页面中每个条目的后面 。
创建用户账户
应用路径:users
接下来建立一个用户注册和身份验证系统 , 让用户能够注册账户 , 进而登录和注销 。
应用程序users
# python manage.pystartapp users# lsdb.sqlite3learning_loglearning_logsll_envmanage.pyusers# ls users/admin.pyapps.py__init__.pymigrationsmodels.pytests.pyviews.py
可以看到 , users目录的结构与应用程序相同 。
# vim learning_log/settings.pyINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',# 我的应用程序'learning_logs','users',#增加这行]
# vim learning_log/urls.py
from django.contrib import adminfrom django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('users/', include('users.urls', namespace='users')),#增加这行path('', include('learning_logs.urls', namespace='learning_logs')),]
同样的 , 这里保存完文件之后会报错: Nonamed 'users.urls' , 不用理会 , 继续往下做 。
登录页面
现在来实现登录页面的功能 , 可以使用提供的默认登录视图 。
# vim users/urls.py
"""定义users的URL模式"""from django.urls import path, re_pathfrom django.contrib.auth.views import LoginViewfrom . import viewsapp_name='users'urlpatterns = [# 登录主页re_path(r'^login/$', LoginView.as_view(template_name='users/login.html'), name='login'),]
# mkdir -p users/templates/users# vim users/templates/users/login.html
【二Django入门】{% extends "learning_logs/base.html" %}{% block content %}{% if form.errors %}Your username and password didn't match. Please try again.
{% endif %}{% endblock content %}
先继承base.html , 请注意 , 一个应用程序中的模板可继承另一个应用程序中的模板 。
- 1 前端组件化Polymer入门教程——初识安装
- Java开发入门教程!java研发工程师技术要求
- 李世民之墓
- 北京房产网二手房源,北京二手房房源信息怎么发布?
- 横竖都是二
- 二 Angular基础知识学习
- 岳西二日游
- 西二旗地铁
- 甘露园南里二区
- 跻身十二大铁帽子王胤祥何以独得雍正信赖