深圳做网站比较好太仓网站制作

news/2025/10/9 3:59:46/文章来源:
深圳做网站比较好,太仓网站制作,网络推广页面,域名已有服务器也有怎么做网站前情回顾#xff1a;Django框架 完成用户登录注册 文章目录 1.创建管理员2.完善管理员功能2.1增加管理员登录功能2.2完善展示用户信息功能2.3完善修改用户信息功能2.4完善删除用户信息功能 1.创建管理员 一般管理员都是直接指定#xff0c;不开放页面注册#xff0c;可以直…前情回顾Django框架 完成用户登录注册 文章目录 1.创建管理员2.完善管理员功能2.1增加管理员登录功能2.2完善展示用户信息功能2.3完善修改用户信息功能2.4完善删除用户信息功能 1.创建管理员 一般管理员都是直接指定不开放页面注册可以直接手动在数据库添加Django框架提供了方法让我们直接创建管理员步骤如下 打开pycharm下面的命令行终端输入命令 python manage.py createsuperuser按照提示进行输入信息 打开数据库可以看出已经帮我们插入了管理员的信息 同时Django也提供了管理员登录页面http://127.0.0.1:8000/admin/ 这里不使用框架自带的页面修改已经写好的用户登录页面当做管理员登录页面。 2.完善管理员功能 2.1增加管理员登录功能 新建管理员视图这里笔者命名为admin_controller.py增添登录功能与用户登录功能唯一不同的是增加了一个字段校验判断是不是个管理员判断成功才能登录。 添加登录方法,登录成功后跳转到用户管理页面 def admin_login(request):if request.method POST:username request.POST.get(username)password request.POST.get(password)if username and password:# 进行身份验证 增加一条校验user authenticate(usernameusername, passwordpassword, is_superuser1)if user is not None:# 管理员验证成功 自动重定向用户管理return redirect(/user_list)else:return HttpResponse(无效的凭据)else:return HttpResponseBadRequest(请提供读者ID和密码)return render(request, admin_login.html) # 渲染 user_login.html 模板添加模板 admin_login.html !DOCTYPE html html langen headmeta charsetUTF-8titleLogin/titlestylebody {font-family: Arial, sans-serif;background-color: #f4f4f4;margin: 0;padding: 0;display: flex;justify-content: center;align-items: center;height: 100vh;}.login-container {background-color: #fff;padding: 20px;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);width: 400px; /* 修改宽度 */height: 400px;margin: 20px; /* 添加外边距 */}.login-container h2 {text-align: center;}.login-container form {display: flex;flex-direction: column;}.login-container form input[typetext],.login-container form input[typepassword] {margin-bottom: 15px;padding: 10px;margin-top: 10%;border-radius: 4px;border: 1px solid #ccc;font-size: 16px;}.login-container form input[typesubmit] {margin-top: 20%;background-color: #007bff;color: #fff;border: none;padding: 10px;border-radius: 4px;cursor: pointer;font-size: 16px;transition: background-color 0.3s ease;}.login-container form input[typesubmit]:hover {background-color: #0056b3;}/style /head bodydiv classlogin-containerh2管理员登录/h2form methodpost{% csrf_token %}input typetext nameusername placeholderUsername requiredinput typepassword namepassword placeholderPassword requiredinput typesubmit valueLogin/form/div /body /html 配置url 在urls.py增加路径 from django.urls import path from . import reader_controller from . import admin_Controller urlpatterns [path(admin/, admin_Controller.admin_login),path(login/, reader_controller.reader_login, namereader_login),path(signup/, reader_controller.signup, namereader_signup), ]2.2完善展示用户信息功能 在视图增加查询所有用户信息函数 使用filter过滤信息 def get_all_reader(request):# 查询不包括管理员的所有用户normal_users User.objects.filter(is_staffFalse)return render(request, user_list.html, {users: normal_users})返回给模板页面 !DOCTYPE html html headmeta charsetUTF-8title管理菜单/titlestyle/* 菜单样式 */body {font-family: Arial, sans-serif;margin: 0;padding: 0;}.sidebar {width: 250px;background-color: #333;height: 100%;position: fixed;left: 0;top: 0;overflow-x: hidden;{#padding-top: 20px;#}}.sidebar a {padding: 10px 16px;margin: 20px;text-decoration: none;font-size: 22px;color: #85f112;display: block;transition: 0.3s;}.sidebar a:hover {background-color: #0edcac;color: black;}.content {margin-left: 250px;padding: 20px;}.header {background-color: #f1f1f1;padding: 10px;text-align: center;}{# 美化表格#}table {border-collapse: collapse;width: 100%;}th, td {border: 1px solid #ddd;padding: 8px;text-align: left;}th {background-color: #f2f2f2;}tr:nth-child(even) {background-color: #f9f9f9;}/style /head bodydiv classsidebardiv classheaderh2管理菜单/h2/diva href#用户管理/aa href#图书管理/aa href#借阅管理/aa href#数据库日志/a /divdiv classcontent!-- 这里是你的主要内容 --h2用户列表/h2tabletrth编号/thth用户名/thth邮箱/thth注册时间/thth操作/th!-- 这里可以根据需要显示其他字段 --/tr{% for user in users %}trtd{{ user.id }}/tdtd{{ user.username }}/tdtd{{ user.email }}/tdtd{{ user.date_joined }}/tdtd {# 注意这里路径写法#}a href../users/{{ user.id }}/edit/修改/a | a href../delete_user/{{ user.id }}/删除/a/td!-- 这里可以根据需要显示其他字段 --/tr{% endfor %}/table /div/body /html 绑定URL path(user_list/, admin_Controller.get_all_reader),效果如图 2.3完善修改用户信息功能 完成修改用户信息分为两步1获取到用户信息 并回显到页面 2提交新的信息到后台 添加查询用户信息函数 def get_reader_by_id(request, id):# 用户编号 查询数据reader User.objects.filter(idid).first()return render(request, user_edit.html, {user: reader})添加用户编辑页面 !DOCTYPE html html langen headmeta charsetUTF-8title修改用户信息/titlestylebody {font-family: Arial, sans-serif;margin: 0;padding: 20px;background-color: #f7f7f7;}form {max-width: 400px;margin: 0 auto;background-color: #fff;padding: 20px;border-radius: 5px;box-shadow: 0 0 10px rgba(0,0,0,0.1);}label {display: block;margin-bottom: 5px;font-weight: bold;}input[typetext],input[typepassword],input[typeemail] {width: 100%;padding: 8px;margin-bottom: 10px;border: 1px solid #ccc;border-radius: 3px;}button {padding: 10px 20px;border: none;border-radius: 3px;background-color: #4caf50;color: white;cursor: pointer;}button:hover {background-color: #45a049;}/style /head bodyform methodpost action/change_user_password/{% csrf_token %}input typehidden nameuser_id value{{ user.id }}label forusername用户名:/labelinput typetext idusername nameusername value{{ user.username }} readonlybrbrlabel forpassword新密码:/labelinput typepassword idpassword namepassword brbrlabel foremail邮箱:/labelinput typeemail idemail nameemail value{{ user.email }}brbrbutton typesubmit修改/button/form /body /html 绑定URL因为需要ID查询用户信息因此路径中应该添加int参数 path(users/int:id/edit/, admin_Controller.get_reader_by_id, nameuser_edit),效果如图 接下来将表单提交到用户信息修改函数 因为密码存在到数据库的时候进行了加密处理因为Django提供了一个修改密码的方法set_password def change_user_password(request):if request.method POST:try:username request.POST.get(username)new_password request.POST.get(password)print(new_password)new_email request.POST.get(email)user User.objects.get(usernameusername)if new_password:user.set_password(new_password)if new_email:user.email new_emailif new_password or new_email:user.save()return redirect(/user_list) # 密码和邮箱已成功修改或更新except User.DoesNotExist:return HttpResponse(用户不存在) # 用户不存在重定向到错误页面或其他适当的处理return HttpResponseBadRequest(不允许的请求) # 非 POST 请求重定向到其他处理页面 绑定URL path(change_user_password/, admin_Controller.change_user_password),2.4完善删除用户信息功能 类似于查询用户信息都需要提供一个ID def del_user(request, id):try:user User.objects.get(idid)user.delete()return redirect(/user_list)# 重定向到用户页面except User.DoesNotExist:return HttpResponse(用户不存在)删除成功之后直接跳转用户信息管理页面 最后附上urls.py from django.urls import path from . import reader_controller from . import admin_Controller urlpatterns [path(admin/, admin_Controller.admin_login),path(login/, reader_controller.reader_login, namereader_login),path(signup/, reader_controller.signup, namereader_signup),path(user_list/, admin_Controller.get_all_reader),path(users/int:id/edit/, admin_Controller.get_reader_by_id, nameuser_edit),path(change_user_password/, admin_Controller.change_user_password),path(delete_user/int:id/, admin_Controller.del_user, namedelete_user), ]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适合个人做的网站百度灰色关键词排名代做

为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的。 测试环境 腾讯云 Ubuntu 16.04 阿里云 Ubuntu 16.04 开启Root账号ssh登录 1.修改配置…

南京专业网站设计公司价格做营销网站视频

初级代码游戏的专栏介绍与文章目录-CSDN博客 程序长时间运行,内存泄漏,最后崩溃,怎么办? 程序24小时运行,偶发随机崩溃,怎么办? 啃代码、内存泄漏检查工具、分析线程交互……没人敢承诺解决问题…

做国外网站调查挣取零花钱做网站销售会问哪些问题

通常而言大家普遍的认知里switch case的效率高于if else。根据我的理解而言switch的查找类似于二叉树,if则是线性查找。按照此逻辑推理对于对比条件数目大于3时switch更优,并且对比条件数目越多时switch的优势越为明显。一、测试目的最近与开发同学对于前…

国外好的设计欣赏网站旧房改造找哪家

第八届信息系统与数据采集国际会议(ICISDM 2024)将于2024年6月24日至6月26日在美国第二大城市——洛杉矶召开。此次会议不仅展现了世界各地的科研专家们围绕着信息系统和数据采集所展开的最新的科学研究结果,而且也为来自不同地区的代表们提供…

加工厂网站建设企业在线

代码如下&#xff0c;在执行Encoding.GetEncoding(“gb2312”);方法后报错&#xff0c;说没有找到对应编码&#xff0c;经测试&#xff0c;发现是静态构造函数未执行。 public static class Encodings {/// <summary>/// 注册相关编码/// </summary>static Encodi…

网站 建设 原则广东商城网站建设多少钱

紫光展锐T820是一款采用先进6nm EUV工艺的芯片&#xff0c;采用134三丛集八核心CPU架构&#xff0c;由1个主频为 2.7GHz 的 Arm Cortex-A76 大核和 3个主频为2.3GHz 的Arm Cortex-A76大核以及4个主频为2.1GHz的 Arm Cortex-A55组成 &#xff0c;支持高达3MB 三级缓存&#xff0…

wap网站实例保定做网站排名推广

Python类型转换&#xff0c;Python数据类型转换函数大全 虽然 Python 是弱类型编程语言&#xff0c;不需要像Java或 C 语言那样还要在使用变量前声明变量的类型&#xff0c;但在一些特定场景中&#xff0c;仍然需要用到类型转换。 比如说&#xff0c;我们想通过使用 print() …

网站架构分析工具自己做网站的劣势

一、UI界面设置两个按键&#xff0c;并直接转到槽函数 二、两种代码展示 #include <QFile> #include <QDebug>//此两种方式中调用函数&#xff0c;应包含的头文件void Widget::on_btnReadFile01_clicked()//第一种打开方式 {//1. 打开文件QFile file;file.setFile…

网站建设 实施计划企业网站大图

数组的存储结构、特殊矩阵和稀疏矩阵的压缩存储 1.数组的存储结构、特殊矩阵、稀疏矩阵的压缩存储1.1 数组的存储结构1.1.1 一维数组的存储结构关系式1.1.2 多维数组的存储结构关系式 1.2 特殊矩阵的压缩存储1.2.1 对称矩阵1.2.2 下三角矩阵1.2.3 上三角矩阵1.2.4 三对角矩阵 1…

永州市开发建设投资有限公司网站青岛网站制作

大家好&#xff0c;我是阿赵。   之前分享过怎样通过MaxScript在3DsMax里面修改模型的顶点色。不过由于很多时候顶点色的编辑需要根据在游戏引擎里面的实际情况和shader的情况来动态调整&#xff0c;所以如果能在引擎里面直接修改模型的顶点色&#xff0c;将会方便很多。于是…

好看的网站的导航怎么做搭建一个网站多少钱哈尔滨电脑

新的一年&#xff0c;你的读研计划进行到哪个环节了呢&#xff1f;咨询社科院与杜兰大学金融管理硕士项目中&#xff0c;总听到有同学说&#xff0c;不着急&#xff0c;我先了解一下。你不知道是时间总是在指缝间溜走。别让犹豫成了我们前进的阻碍&#xff0c;马上行动早日遇到…

结合公众号小店做网站设计类网站推荐及介绍

京东金融网银钱包移动版上线 京东账号可直接登录【TechWeb报道】4月1日消息&#xff0c;京东金融今日宣布网银钱包客户端正式在Android平台上线。网银钱包客户端近期也将登录苹果应用商店&#xff0c;用户使用京东账号将可以直接登录。据悉&#xff0c;网银钱包客户端是京东金融…

面试网站开发员写一份开网店策划书

职位描述&#xff1a; 1、计算机或相关专业专科以上学历&#xff0c;2年以上网站前端开发经验&#xff0c;电子商务相关从业经验优先&#xff1b;2、精通各种Web前端技术&#xff0c;对符合web标准的网站重构有丰富经验&#xff0c;有成功作品&#xff1b;3、理解并掌握JavaScr…

网站建设毕业设计总结比较优秀的国外wordpress网站

介绍: conda 是一个工具, 也是一个可执行命令, 其核心功能是管理包与环境. conda 支持多种语言, 用来管理Python包是绰绰有余的. 这里注意区分conda和pip, pip命令可以在任何环境中安装Python包, 而conda则是在conda环境中安装任何语言包. 接触过的conda主要有miniconda与anac…

网站301做排名网站 医院信息化建设

本文实例为大家分享了C语言二叉排序(搜索)树实例代码&#xff0c;供大家参考&#xff0c;具体内容如下/**1.实现了递归 非递归插入(创建)二叉排序(搜索)树&#xff1b;分别对应Insert_BinSNode(TBinSNode* T,int k),NonRecursion_Insert_BinSNode(TBinSNode* T,int k);2.实现了…

视频网站后台设计班级网站制作教程

C Primer&#xff08;第5版&#xff09; 练习 11.2 练习 11.2 分别给出最适合使用list、vector、deque、map以及set的例子。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释 list的元素是有序的&#xff0c;可以重复的&#xff0…

有那些网站宁夏手机网站建设

反射 1 定义2 用途(了解)3 反射基本信息4 反射相关的类&#xff08;重要&#xff09;4.1 Class类(反射机制的起源 )4.1.1 Class类中的相关方法(方法的使用方法在后边的示例当中) 4.2 反射示例4.2.1 获得Class对象的三种方式4.2.2 反射的使用 5、反射优点和缺点 1 定义 Java的反…

网站建设专业书入门wordpress 帝国cms

一、K-means聚类算法 K均值聚类&#xff08;K-means clustering&#xff09;是一种常见的无监督学习算法&#xff0c;用于将数据集中的样本划分为K个不同的类别或簇。它通过最小化样本点与所属簇中心点之间的距离来确定最佳的簇划分。 K均值聚类的基本思想如下&#xff1a; …

做网站收广告费网站简单设计

最小实现和互质分式 2023年12月12日 文章目录 最小实现和互质分式1. 实现问题2. SISO严格正则系统的实现2.1 能控标准1型实现2.2 能观标准2型实现2.3 能观标准1型实现2.4 能控标准2型实现2.5 最小实现2.6 完全表征 3. 计算互质分式3.1 使用西尔韦斯特结式 4. SISO基于Markov参…

汕头高端网站建设前端外包

在 react antd 中&#xff0c;对表单做在前置项未填写时禁用后置项交互并提示的效果。 情景 最近有这么个需求&#xff0c;某个业务中&#xff0c;要填写一张表单&#xff0c;其中有这样两项&#xff1a;选择数据连接和选择数据表&#xff0c;数据表是数据连接下所拥有的表。…