博客基础_django入门_python从入门到实践_用户登陆、注销与注册

要求

  登陆、注销系统用户;注册新用户

  urls.py  views.py   html

  login.html  logout.html   regiser.html

截图loading

代码

users

 1 # learning_log/
 2     python manage.py startapp users
 3     ls users
 4
 5 # settings.py     learning_log/ users/
 6     --snip
 7     INSTALL_APPS=[
 8         ‘users‘,
 9     ]
10
11 # urls.py    users/
12 urlpatterns=[
13     ...
14     url(‘^users/$‘, ‘users.urls‘, namespace=‘urls‘)
15 ]

urls.py  users/

 1 from django.conf.urls import urls
 2 from django.contrib.auth.views import login
 3
 4 from . import views
 5
 6 urlpatterns=[
 7     url(r‘^login/$‘, login, {‘template_name‘:‘users/login.html‘}, name=‘login‘),
 8     url(r‘^logout/$‘, views.logout_view, name=‘logout‘),
 9     url(r‘^register/$‘, views.register, name=‘register‘)
10 ]

views.py   users/

 1 from django.shortcuts import render
 2 from django.http import HttpResponseRedirect
 3 from django.core.urlresolvers import reverse
 4 from django.contrib.auth import login, logout, authenticate
 5 from django.contrib.auth.forms import UserCreationForm
 6
 7 def logout_view(request):
 8     logout(request)
 9     return HttpResponseRedirect(reverse(‘learning_logs:index‘))
10
11 def register(request):
12     if request.method != ‘POST‘:
13         form = UserCreationForm()
14     else:
15         form = UserCreationForm(data=request.POST)
16         if form.is_valid():
17             new_user = form.save()
18             authenticated_user = authenticate(username=new_user.username, password=request.POST[‘password1‘])
19             login(request, authenticated_user)
20             return HttpResponseRedirect(reverse(‘learning_logs:index‘))
21     context = {‘form‘:form}
22     return render(request, ‘users/register.html‘, context)

login.html  users/templates/users/

 1 {% extends ‘learning_logs/base.html‘ %}
 2
 3 {% block content %}
 4     {% if form.erros %}
 5         <p>Your username and password didn‘t match, please try again.</p>
 6     {% endif %}
 7         <form action="{% url ‘users:login‘ %}">
 8             {% csrf_token %}
 9             {{ form.as_p }}
10             <button name="submit">login in</button>
11             <input type="hidden" name="next" value="{% url ‘learning_log:index‘ %}" />
12         </form>
13 {% endblock content %}

register.html  users/templates/users/

 1 {% extends ‘learning_logs/base.html‘ %}
 2
 3 {% block content %}
 4     {% if form.erros %}
 5         <p>Your username and password didn‘t match, please try again.</p>
 6     {% endif %}
 7         <form action="{% url ‘users:login‘ %}">
 8             {% csrf_token %}
 9             {{ form.as_p }}
10             <button name="submit">login in</button>
11             <input type="hidden" name="next" value="{% url ‘learning_log:index‘ %}" />
12         </form>
13 {% endblock content %}

base.html  learning_logs/templates/learning_logs/

原文地址:https://www.cnblogs.com/dignity/p/9834007.html

时间: 2024-08-30 15:21:41

博客基础_django入门_python从入门到实践_用户登陆、注销与注册的相关文章

Django开发博客(基础篇)

Django开发博客(基础篇)http://www.itmin.cn/archives/918

基于Hexo+Node.js+github+coding搭建个人博客——基础篇

附上个人教程:http://www.ookamiantd.top/2017/build-blog-hexo-base/ 搭建此博客的动机以及好处在此就不多谈了,之前已经表达过,详情请看Start My Blog Trip - Power By Hexo 记录一下搭建的基本过程以及遇到的一些问题,仅供参考 = =废话不多说,进入主题 Hexo博客搭建的基础大致流程为: 安装Node.js →安装Git → 安装Hexo → 安装主题 → 本地测试运行 → 注册给github与coding并创建pa

linux入门_韩顺平_复习版_开启、重启、用户登陆注销

同步数据 syn 关机 halt init 0 shutdown -h now shutdown -h 1 重启 reboot init 6 shutdown -r now 运行级别3下,切换用户,注销用户 su root logout 原文地址:https://www.cnblogs.com/dignity/p/9739173.html

用 Flask 来写个轻博客 (27) — 使用 Flask-Cache 实现网页缓存加速

目录 目录 前文列表 扩展阅读 Flask-Cache 应用 Flask-Cache 实现视图函数缓存 缓存无参数的普通函数 缓存带参数的普通函数 缓存无动态参数的视图函数 缓存带动态参数的视图函数 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表

我的Android进阶之旅------&gt;经典的大牛博客推荐(排名不分先后)!!

本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki AndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯Android笔

Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理

本文是接着上篇博客写的:Spring boot 入门(三):SpringBoot 集成结合 AdminLTE(Freemarker),利用 generate 自动生成代码,利用 DataTable 和 PageHelper 进行分页显示.按照前面的博客,已经可以搭建一个简单的 Spring Boot 系统,本篇博客继续对此系统进行改造,主要集成了 Shiro 权限认证框架,关于 Shiro 部分,在本人之前的博客(认证与Shiro安全框架)有介绍到,这里就不做累赘的介绍. 此系列的博客为实践部分

《Hexo+github搭建个人博客》

<Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+github搭建个人博客>1 思维导图总览:2 What?2 简介:2 Hexo:2 NodeJs2 Github4 Git5 Github page:5 Markdown6 How?7 环境配置:7 安装Git8 安装Node.js9 安装hexo13 第一步:打开cmd.13 第二步:进入NodeJS

为什么写博客

个人简介 前几天申请了个博客就一直忙项目,现在项目完成的差不多了,开始更新下博客. 第一遍什么也不想写就简单的聊下为什么写博客吧! 博主是99年的小鲜肉一枚,虽然只有中专的文化水平,但我会努力成为大佬,努力写好每一篇文章. 最初的梦想 刚开始写博客不知道怎么开始,就从这第一篇开始吧. 写博客之前先来谈一谈 我为什么要写博客? 其实我最初打算写博客,第一篇博文的原因很简单,我就是想把工作中.学习中遇到 的问题及解决方案记录下来,方便日后用到的时候拿来就用,不用再去搜索别人的解决方案,一下子得到N多

国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)

在2013-07-15 整理了一份国内各大互联网公司相关技术站点2.0版 (集合腾讯.阿里.百度.搜狐.新浪.360等共49个) 近日重新整理了一番,希望能对大家有所帮助 2013年 腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系列(2)   其他(9) 2016年 腾讯系列(9)  阿里系列(5)  百度系列(6)  搜狐系列(1)  新浪系列(1)  360系列(2)   其他(3) 新增 网易(2) 腾讯系列(9) 1.财付通设计中心