一、应用基本配置

1、在根目录下新建account应用。python manage.py startapp account

2、在项目根目录的项目目录的setting下的INSTALLED_APPS中添加 ‘account’

3、在项目根目录的项目目录的url.py中进行URL配置。添加

url(r'^account/',include('account.urls',namespace='account')),

注意:将app_name=‘account’写在account.urls中

4、在account中建立urls.py文件。并添加代码

from django.conf.urls import url
from . import viewsfrom django.conf import settingsurlpatterns=[url(r'^login/$',views.user_login,name='user_login'),
]

此处必须加‘.’.因为这个list中只有一个元素。否则系统会误解。

views.user_login意味着必须在view.py中创建一个名为user_login的函数来响应请求。

二、设计用户登录过程

1、在./account中建立forms.py文件,专门用于存放各种与表单有关的类。编写

from django import formsclass LoginForm(forms.Form):username=forms.CharField()password=forms.CharField(widget=forms.PasswordInput)

login=LoginForm() 创建未绑定的对象

dir(login)查看可用方法
主要关注以下几种方法、属性

  • cleaned_data:以字典形式返回你注册的用户和密码
  • is_bound:判断用户是否绑定
  • is_vaild():判断输入的用户和密码是否符合格式要求

2、编写用户登录的视图函数,修改 account 应用下的 views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.contrib.auth import authenticate,login
from .forms import LoginForm# Create your views here.def user_login(request):if request.method=='POST':login_form=LoginForm(request.POST)if login_form.is_valid():#判断表单数据是否符合要求(比如不能为空之类的)cd=login_form.cleaned_datauser=authenticate(username=cd['username'],password=cd['password'])if user:login(request,user)return HttpResponse('Welcome Boys and Girls,you have logined successfully...')else:return HttpResponse('sorry,your input is error...')if request.method=='GET':login_form=LoginForm()return render(request,'account/login.html',{'form':login_form})

3、编写在./templates/account/login.html中。

{%extends 'base.html'%}
{%block title%}登录{%endblock%}{%block content%}
<div class="row text-center vertical-middle-sm"><h1>Login</h1><p>input your username and password</p><form action="." class="form-horizontal" method="post">{%csrf_token%}{{form.as_p}}<input type="submit" value="Login"></form>
</div>
{%endblock%}

{%csrf_token%} 这个必须有,只要在 form 标签内就 OK。保证了前端可以通过 POST 方式提交数据。
{{form.as_p}} 实例对象的 as_p方法,使得表单数据呈现为一系列p标签,类似有 as_ul、as_table。

此时在网址中输入http://localhost:8080/account/login 即可看到登录界面

参考自:https://blog.csdn.net/lzw2016/article/details/80425242

Django 新建account应用相关推荐

  1. django新建一个项目_如何使用Django创建项目

    django新建一个项目 Now that we know how to create virtual environments and use pip, we can begin building ...

  2. 在虚拟环境安装使用Django新建项目避坑

    1. 复制虚拟环境路径 注意: 首先确保你已经创建了虚拟环境,如果还没有创建虚拟环境请参看不会cd没关系,100%创建虚拟虚拟环境 复制虚拟环境路径是为了后面可以方便的在命令行切换到虚拟环境下 比如我 ...

  3. 2.4.4.1、Django新建APP(acounts)

    $django-admin.py startapp accounts 在oss/accounts修改forms.py(新建)和views.py如下: 注:绿字部分为注释 views.py ###### ...

  4. django新建php文件,在Python的Django框架中创建语言文件

    django-admin.py makemessages -l de -e html,txt -e xml 当创建JavaScript翻译目录时,你需要使用特殊的Django域:not -e js . ...

  5. Django新建项目

    装好Django后,进入urls.py文件将原来的内容删除写入 from django.contrib import admin from django.urls import path #from ...

  6. Django新建项目(Linux操作系统)

    一.简介 Django是一个开放源代码的Web应用框架,由Python写成,只需要程序员完成很少量的代码,就能够很好的完成网站开发,已经成为web开发者的首选框架.Django采用了MTV的框架模式, ...

  7. Django 新建自定义用户后无法创建表的问题

    问题描述: 我新建了一个AIUser的Model,但是直接运行python manage.py migrate命令后出现如下错误: MySQLdb._exceptions.OperationalErr ...

  8. Django新建应用时出错raise RuntimeError(“populate() isn‘t reentrant“)

    一直弹这个出错提示:raise RuntimeError("populate() isn't reentrant") RuntimeError: populate() isn't ...

  9. django新建utils文件夹与导入方法

    首先在主目录下创建utils文件夹(与manage.py在同一个目录) 右键mark为source root 在views中导入时用: from utils import xxxx

最新文章

  1. 高校教授称已推翻爱因斯坦相对论,项目还被推荐入选河北科学技术奖?!回应来了!...
  2. 独家 | 忘记波士顿动力公司。这个机器人可以自学走路
  3. python+soket实现UDP协议的局域网广播程序
  4. 菜鸟学Linux 第033篇笔记 bootloader,inittab
  5. php生成图片水印,PHP生成图片加文字及图案水印办法
  6. JavaScript数据类型 typeof, null, 和 undefined
  7. Linux shell 常用命令
  8. java多态 成员访问特点(父类引用指向子类对象)
  9. Python Socket编程初探
  10. 被拘捕 353 天后,三星“太子”李在镕被判缓刑当庭获释!
  11. 应用时间序列案例-基于R语言
  12. DZ插件-免费DZ插件大全汇集所有插件功能
  13. 云服务器ECS/EC2_转载
  14. Php实现Facebook app端web网页登陆功能
  15. java登陆界面图片_java登陆界面如何插入背景图片
  16. OSChina 周一乱弹 —— 今天下班带你去放松咧
  17. 深入理解String、StringBuffer和StringBuilder类的区别
  18. android开发包下载
  19. 【雷达与对抗】【2017.06】空中目标的无源雷达探测
  20. MSN, 迅雷等调用小红伞作为杀毒软件的方法

热门文章

  1. php表单提取,php – 使用RegEx提取表单字段
  2. 编辑流程图_流程图不会绘制?一分钟手把手教你学会,超简单
  3. python处理txt文件_python处理txt文件
  4. android 支付模块封装,Android集成支付----支付宝支付总结与封装
  5. python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息
  6. js父元素获取子元素img_css,前端_父标签div中包含一个子元素img标签,子元素div标签,为什么img要加上浮动,子元素div才会处于正常位置?,css,前端 - phpStudy...
  7. python 爬虫代码_Python 你见过三行代码的爬虫吗
  8. xampp 支持pdo mysql_在Windows上安装PHP PDO(xampp)
  9. 神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现
  10. (DFS)n皇后问题