首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于Django的电子商务网站开发(连载12)

基于Django的电子商务网站开发(连载12)

作者头像
顾翔
发布于 2019-12-11 07:20:44
发布于 2019-12-11 07:20:44
4080
举报

3.3.2用户登录

注册的用户可以通过登录页面登录系统。由于这个模块在前面讲得比较多了,在这里不做过多的解释。

1. urls.py

...url(r'^$', views.index),url(r'^index/$', views.index),url(r'^ login_action /$', views.login_action),...

由于第2.6.3介绍,登录页面为系统首页,提供了三个URL,分别对应。

(1)127.0.0.1:8000/。

(2)127.0.0.1:8000/index/。

(3)127.0.0.1:8000/login_action/。

2. views.py

...# 首页(登录)def index(request): uf = LoginForm()return render_to_response('index.html',{'uf':uf})...#用户登录def login_action(request): if request.method == "POST": uf = LoginForm(request.POST) if uf.is_valid(): # 寻找名为 "username"和"password"的POST参数,而且如果参数没有提交,返回一个空的字符串。 username = (request.POST.get('username')).strip() password = (request.POST.get('password')).strip()# 判断输入数据是否为空 if username == '' or password == '': return render(request,"index.html",{'uf':uf,"error":"用户名和密码不能为空"}) else: # 判断用户名和密码是否准确 user = User.objects.filter(username = username,password = password) if user: response = HttpResponseRedirect('/goods_view/') # 登录成功跳转查看商品信息 request.session['username'] = username # 将session 信息写到服务器 return response else: return render(request,"index.html",{'uf':uf,"error":"用户名或者密码错误"}) else: uf = LoginForm()return render_to_response('index.html',{'uf':uf})...

3. 模板

模板文件为index.html,其内容为。

{%load staticfiles%}<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! --> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../../favicon.ico"> <title>电子商务系统-登录</title> <!-- Bootstrap core CSS --> <link href="{%static 'css/signin.css'%}" rel="stylesheet"--> <!-- Custom styles for this template --> <link href="{%static 'css/bootstrap.min.css'%}" rel="stylesheet"--> <link href="{%static 'css/my.css'%}" rel="stylesheet"> </head> <body> <div> <form method="post" action="/login_action/" enctype="multipart/form-data"> <h2>电子商务系统-登录</h2> {{uf.as_p}} <p style="color:red">{{error}}</p><br> <button class="btn btn-lg btn-primary btn-block" type="submit">登录</button><br> <a href="\register\">注册</a> </form> </div><!-- /container --> </body>

(1){{error}}:显示错误提示信息。

(2){{uf.as_p}}:显示表单信息。

如图3-3所示。

图3-3用户登录界面

星云测试

http://www.threadingtest.com/

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Django的电子商务网站开发(连载10)
用户信息模块包括“用户信息的注册”“用户登录”“显示用户信息”和“用户密码的修改”。其中“用户信息的注册”与“用户登录”在本书第2章进行了详细地描述,这一章将进行系统地归纳与优化。数据模型如下。
顾翔
2019/12/11
8910
基于Django的电子商务网站开发(连载10)
基于Django的电子商务网站开发(连载30)
(2)第二个测试用例添加一个当前登录用户已经存在的地址信息,系统应该报“这个地址已经存在!”的错误信息。
顾翔
2019/12/11
6790
基于Django的电子商务网站开发(连载30)
基于Django的电子商务网站开发(连载14)
(1)当检查当前用户为合法用户后,通过语句count = util.cookies_count(request)调用util类中的cookies_count()方法,显示当前用户的购物车内有多少商品。
顾翔
2019/12/11
5990
基于Django的电子商务网站开发(连载18)
系统为用户提供用户登录密码的修改。根据需求定义,修改用户密码的时候,必须提供旧密码、新密码和新密码的确认,并且新密码不能与旧密码相同。如果旧密码不正确、新密码与旧密码相同或者新密码和新密码的确认信息不一致,系统应该给出相应的提示信息。
顾翔
2019/12/11
5260
基于Django的电子商务网站开发(连载18)
基于Django的电子商务网站开发(连载37)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/11
5570
基于Django的电子商务网站开发(连载37)
Django 系列博客(三)
本篇博客介绍 django 的前后端交互及如何处理 get 请求和 post 请求。
py3study
2020/01/19
3560
基于Django的电子商务网站开发(连载15)
表3-2为用户信息显示模块的测试用例。测试程序测试产品代码是否能够将当前登录用户的用户信息正确地被显示出来。
顾翔
2019/12/11
5890
基于Django的电子商务网站开发(连载21)
商品概要信息的分页显示页面是登录操作以后的首界面,以列表的形式显示已经存在的商品,通过这个页面,用户可以进行查看商品信息的详情、添加商品进入购物车等操作。
顾翔
2019/12/11
3850
基于Django的电子商务网站开发(连载21)
Python Web聊天室--首页
在layout里创建base.html(基础模板,我们可以在其他的模板里调用这个,可以减少代码重复率)
py3study
2020/01/07
1.7K0
基于Django的电子商务网站开发(连载32)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/11
5180
实战django(二)--登录实现记住我
1.在登录时如果勾选记住我,那么就将用户username存进cookie中,跳转到index页面;
西西嘛呦
2020/08/26
1.1K0
django重定向
return HttpResponseRedirect('/index/')# 重定向 返回url格式:http://127.0.0.1:8000/index/会去掉前期的所有路由重新写入/index/'路由 urls代码 from django.urls import path from django.contrib import admin from ProductOutWarehouse import views urlpatterns = [ path('admin/', admin.s
py3study
2020/01/19
1.6K0
基于Django的电子商务网站开发(连载27)
表3-8为查看购物车中内容的测试用例,上一节把商品放入购物车内,在这里验证进入购物车的商品信息是否可以正确地被显示出来。
顾翔
2019/12/11
7490
django 发布会签到系统web开发
  最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下。也是为了练练手,巩固知识。现在就分享一下成果~
全栈测试开发日记
2023/02/02
5660
django 发布会签到系统web开发
基于Django的电子商务网站开发(连载28)
(1)登录的用户通过语句good= get_object_or_404(Goods, id=good_id)获得需要移出的商品信息。
顾翔
2019/12/11
5370
基于Django的电子商务网站开发(连载23)
这里的实现方法与商品概要信息基本上是一致的,不同的地方在于在概要信息中使用代码good_list = Goods.objects.all()获取全部商品信息,而在模糊查询中使用代码good_list= Goods.objects.filter(name__icontains=search_name)来显示符合条件的商品信息。
顾翔
2019/12/11
3160
基于Django的电子商务网站开发(连载25)
购物车模块包括“购物车中所有商品的显示”“添加商品进入购物车”“删除购物车中某种商品”“删除购物车中所有的商品”和“修改购物车中某种商品的数量”。
顾翔
2019/12/11
4080
基于Django的电子商务网站开发(连载25)
基于Django的电子商务网站开发(连载26)
登录用户通过调用语句my_chart_list= util.add_chart(request)把商品放入购物车中。在产品代码Util类中的add_chart()方法代码如下。
顾翔
2019/12/11
4420
基于Django的电子商务网站开发(连载26)
基于Django的电子商务网站开发(连载39)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/11
4030
基于Django的电子商务网站开发(连载39)
基于Django的电子商务网站开发(连载24)
3.4.4 商品信息的详情显示 查看商品信息详情的实现方法与查看商品信息列表在实现方法上基本相同。 1. urls.py ...url(r'^view_goods/(?P<good_id>[0-9]+
顾翔
2019/12/11
3220
基于Django的电子商务网站开发(连载24)
推荐阅读
相关推荐
基于Django的电子商务网站开发(连载10)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档