精华内容
下载资源
问答
  • 通过本讲,你将学会 flask 路由的使用、熟悉后台管理 flask 启动程序的详细内容 。 什么叫路由?他有什么作用,如何使用? 路由:是使用 route() 装饰把函数绑定到指定的 URL ,通过访问此 URL 即可执行 route() ...

    上一讲,我们讲解了如何部署报修小程序后台 flask 项目,如果你还没有安装部署成功 , 请在公众号里留言 ,我会指导你安装部署完成 。

    通过本讲,你将学会 flask 路由的使用、熟悉后台管理 flask 启动程序的详细内容 。

    什么是路由?他有什么作用,如何使用?

    路由:是使用 route() 装饰器把函数绑定到指定的 URL ,通过访问此 URL 即可执行 route() 装饰函数里的代码块 , 进而完成相关业务逻辑、访问 html 模版、返回 json 数据等。

    app.py 启动文件中的路由,分别是如何使用的?

    flask 后台管理程序中 ,我们使用的启动程序是 app.py , app.py 中包含四个路由,分别是:login、logout、home、api/signIn ,这四个路由完成了后台管理的登录、登出、主页的功能。

    1、login 路由 ,用户登录页面展示,整个函数的作用是:访问 http://127.0.0.1:5000/login 跳转到后台管理用户登录页面 ,仅仅是页面路由并涉及登录的操作。

    # 用户登录view
    @app.route('/login')
    def login():
        return render_template("/login.html")
    

    详细讲解:

    @app.route(’/login’) 就是一个用户登录的路由 , 为什么是app.route()呢?因为上文中有这样一句话:app = Flask(name) ,也就是 flask 主程序的名字定义为 app ,所以在启动程序中路由均使用 @app.route() 。

    那么问题来了?必须是 app.route() 吗 ? 当然不是了 , 你可以使用任何你想要使用名字 ,比如你可以使用 myApp ,定义 myApp = Flask(name) ,而路由相应的需要使用 myApp.route() 。

    login 是路由的名字,定义了 @app.route(’/login’) 后 ,启动 flask 主程序 ,我们就可以通过网站:http://127.0.0.1:5000/login 访问到路由 login。

    def login() 不用讲,就是定义了一个无参数的普通函数 。

    render_template("/login.html") :render_template 是Jinja2 模板引擎的一个函数 ,这里他的作用是:将模版目录 templates 下的 login.html 渲染展示出来。

    2、logout 路由 , 用户登出操作 ,整个函数的作用是退出当前登录的用户 , 并指向登录页面,即回到登录页面。

    # 退出登录view
    @app.route('/logout')
    def logout():
        del session['username']
        return render_template("/login.html")
    

    详细讲解:

    del session[‘username’] ,退出登录的操作 ,作用是:删除 session 中 username 字段 , 即删除用户登录保存的信息 。

    为什么用户退出登录要删除 session 中的 username 信息呢?因为我们在用户输入账号密码正确后 , 向 session 中写入了 username ,做为用户登录的依据 , session 中 username 字段为空 , 则说明用户未登录或已经退出 。 session 的来源请看下面的 api/signIn 路由讲解 。

    3、home 路由 , 用户登录后的后台主页展示 , 作用是:用户登录后 ,通过访问 http://127.0.0.1:5000/home 即可访问主页内容 。

    # 后台主页view
    @app.route('/home')
    def home():
        return render_template('/home.html', userName=session.get("username"))
    

    详细讲解:

    render_template(’/home.html’,userName=session.get(“username”)) :使用 render_template 函数将 templates 的 home.html 展示出来 ,同时后面携带了一个参数 userName ,userName 的值是从 session 中获取的 username 的值 。而 home.html 中就可以通过 Jinja2 模版引擎的标签语言 {{ userName }} 将登录用户的用户名展示到页面中 。

    4、api/signIn 路由 , 用户登录请求数据库的接口 ,作用是:通过前台 ajax 传递过来的用户名和密码 , 查询数据库 user 表 ,若存在此用户并且用户名正确 ,则登录成功 , 否则登录失败 ,返回的数据格式是 json 字符串 。

    # 用户登录接口
    @app.route('/api/signIn', methods=['POST'])
    def signIn():
        # 从request对象中读取表单内容:
        username = request.form['username']
        password = request.form['password']
        userResult = User.query.filter(User.userName == username).first()  # 简单查询  使用关键字实参的形式来设置字段名
        if userResult is not None:
            a = hashlib.md5()
            a.update(password.encode(encoding="utf-8"))
            md5Password = a.hexdigest()  # sha1哈希加密
            if md5Password == userResult.userPassword:
                session['username'] = userResult.userName
                return jsonify({'status': 200, 'errmsg': '登录成功!'})
            return jsonify({'status': 500, 'errmsg': '用户密码错误,请输入正确的密码!'})
        return jsonify({'status': 500, 'errmsg': '登录失败,用户不存在!'})
    

    详细讲解:

    @app.route(’/api/signIn’, methods=[‘POST’]) :这里我们会发现路由多了一个参数 methods ,methods 是干嘛的呢 ? 为什么上面三个路由都没有指定 methods ?

    methods 是指路由请求的方式 ,指定 methods=[‘POST’] 后 , 表示此路由仅仅支持 http POST 请求 ,而上面三个没有指定 methods 是因为 flask 路由默认是 GET 请求,即:methods=[‘GET’] ,仅仅支持 http GET 请求 。

    那么如果我们想让一个路由即支持 GET 又支持 POST 怎么写呢?只需要指定 methods=[‘GET’,‘POST’] ,即改为:@app.route(’/api/signIn’, methods=[‘POST’,‘GET’]) 就可支持两种请求方式 。

    username = request.form['username']
    password = request.form['password']
    

    这两行代码的作用是:从请求中获取 form 表单中的用户名和密码 , 即用户登录时输入的用户名和密码 。request.form :根据名字获取请求表单里的内容 。

     userResult = User.query.filter(User.userName == username).first()  
    

    User.query.filter 是查询数据中 userName 等于从表单中获取的用户名 ,flask 如何操作数据库 , 后面我们详细讲解 。

    if userResult is not None:
            a = hashlib.md5()
            a.update(password.encode(encoding="utf-8"))
            md5Password = a.hexdigest()  # sha1哈希加密
            if md5Password == userResult.userPassword:
                session['username'] = userResult.userName
                return jsonify({'status': 200, 'errmsg': '登录成功!'})
            return jsonify({'status': 500, 'errmsg': '用户密码错误,请输入正确的密码!'})
        return jsonify({'status': 500, 'errmsg': '登录失败,用户不存在!'})
    

    此段代码即用户登录逻辑判断 , 首先是判断是否从数据库中查询到了该用户,若没有查询到即:if userResult is None 返回 json 字符串 return jsonify({‘status’: 500, ‘errmsg’: ‘登录失败,用户不存在!’}) ,jsonify 的作用是将一个字典转换为 json 字符串返回给前台 ajax 请求 。若查询到用户 ,判断密码是否匹配 ,数据库中密码是md5加密保存的,这里将表单中的密码 md5 加密后与数据库查询出来的密码对比 , 相等则登录成功 , 不相等则登录失败 。

    总结:

    通过这一讲:你应该明白如何定义路由 , 如何将路由指向具体的页面 ,如何使用指定 GET、POST 请求 。同时对报修小程序后台源码进一步理解,为看懂源码并扩展后台功能做准备。

    对此,你有什么疑问呢?欢迎到公众号【JeenWang】留言 ,我会第一时间为你解答 !

    展开全文
  • 设备管理器

    2011-03-23 14:05:00
    在WinCE中,系统进程Device.exe负责对几乎所有的外设驱动程序进行管理,它也被称为设备管理器。 严格来说,设备管理器不是WinCE操作系统内核的一部分,仅仅是一个用户态下的普通进程,而且没有设备管理器WinCE也...

    1.Device.exe简介

    WinCE中,系统进程Device.exe负责对几乎所有的外设驱动程序进行管理,它也被称为设备管理器。

    严格来说,设备管理器不是WinCE操作系统内核的一部分,仅仅是一个用户态下的普通进程,而且没有设备管理器WinCE也一样可以启动、运行。但设备管理器在WinCE中的作用却非常重要。

    WinCE系统启动时,设备管理器会随着启动,并且在整个系统运行时都会持续运行。在Common.reg中可以看到device.exe的启动:

    ……

    [HKEY_LOCAL_MACHINE\init]

    IF IMGCELOGENABLE

    ; At most one CeLog flush app (CeLogFlush, OSCapture) can be used

    IF IMGAUTOFLUSH

            "Launch05"="CeLogFlush.exe"

    ENDIF

    IF IMGOSCAPTURE

            "Launch05"="OSCapture.exe"

    ENDIF

    ENDIF

    ; @CESYSGEN IF CE_MODULES_SHELL

    IF IMGNOKITL !

            "Launch10"="shell.exe"

    ENDIF IMGNOKITL !

    ; @CESYSGEN ENDIF

    ; @CESYSGEN IF CE_MODULES_DEVICE

            "Launch20"="device.exe"//可见device.exe是在系统启动后才被操作系统启动的。

    ; @CESYSGEN IF CE_MODULES_SHELL

    IF IMGNOKITL !

    "Depend20"=hex:0a,00//说明Device.exe依赖于shell.exe,只有shell.exe启动之后才能启动。

    ENDIF IMGNOKITL !

    2.Device.exe的初始化

    对于不同的操作系统,设备与驱动程序的初始化几乎都是不一致的。在Windows CE中,设备的初始化分两个阶段:第一阶段是Device.exe的初始化第二阶段是外设的枚举和加载。我们这里先讲Device.exe的初始化,用下面一张图来描述:

    当系统冷启动后,操作系统内核NK首先运行,然后NK根据注册表HKEY_LOCAL_MACHINE\init下的内容陆续启动一些其他进程,Device.exe进程也是在这个时候被启动;

    Device.exe启动后,进行一系列自身的初始化工作,以便完成设备管理功能。按照顺序Device.exe会先初始化本身的一些数据结构,再初始化I/O资源管理器和电源管理器;

    接着,Device.exe根据注册表的设置,加载总线枚举器,让BusEnum.dll负责加载和初始化所有的内置设备。

    至此,控制权就交给了BusEnum.dllDevice.exe本身的初始化就结束了。

    转载于:https://www.cnblogs.com/Logen1010/archive/2011/03/23/1992666.html

    展开全文
  • 多系统启动引导程序xorldr_0.52

    热门讨论 2011-05-31 20:12:06
    ◆ 配置程序中背景文件名可以直接从资源管理器中选择; ◆ 按文件名方式加载背景图片时,如果文件名不存在不再给出烦人的提示。 ※ 2011.3.15 v0.52 更新: ◆ 支持 2TB 大硬盘。测试时在我的 2TB 硬盘尾部划分了一...
  • 先看视频。...节点管理器作用: 启动、关闭和重启管理服务器 启动、关闭、挂起和重启受管服务器 出现故障时,自动重新启动管理服务器和被管服务器 什么是Machine? Machine的主...

    先看视频。

    【赵强老师】Weblogic节点管理器和架构

     

    什么是节点管理器?

    节点管理器与Weblogic Server运行在相同的计算机上;可以作为操作系统的守护程序自动运行。节点管理器的作用:

    • 启动、关闭和重启管理服务器

    • 启动、关闭、挂起和重启受管服务器

    • 出现故障时,自动重新启动管理服务器和被管服务器

    什么是Machine?

    • Machine的主要用途是以管理员身份管理服务器

    • 节点管理器需要配置Machine

    • Machine是逻辑概念,不是物理实体

    什么是Weblogic?

    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

    WebLogic是美商Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.3) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。

    展开全文
  • 问题:无法启程序,拒绝访问你在写程序的时候,是否遇到类似的问题: ...所以我们打开【任务管理器】,看看是否有devenv.exe正在运行,如果有,直接结束devenv.exe进程。 接着再打开VS,运行你的项目,试

    问题:无法启程序,拒绝访问

    你在写程序的时候,是否遇到类似的问题:
    无法启动程序"XXX.exe",拒绝访问,解决方案
    这里写图片描述

    这样的问题遇到多次了,就也有了解决方案。

    解决方案

    1. 使用管理员权限运行VS2008,如下图:
      这里写图片描述

    再次打开项目,运行试试。如果不起作用,再试试第二步。

    1. 发生这样的事情可能是因为,程序正在被打开。所以我们打开【任务管理器】,看看是否有devenv.exe正在运行,如果有,直接结束devenv.exe进程。
      接着再打开VS,运行你的项目,试试。

    应该就能解决你的问题了。


    全文完

    更多IT笔试面试题讲解

    关注公众号:IT笔试面试真题讲解,回复:666,领取更多真题资料

    展开全文
  • C/C++ 注册表操作注册表概述一、注册表数据结构二、相关函数1.创建键 RegCreateKeyEx()2....这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,
  • 天使进程管理器 v3.3

    2019-11-04 03:20:42
    “天使进程管理器”是一款简洁易用、功能众多的WINDOWS进程管理软件,拥有WINDOWS任务管理器中的所有常用进程管理功能,并根据实际应用需要,增加了进程快照保存、精简进程、进程文件属性查看、快速进入进程所在文件...
  • 我的应用程序作用是当用户检查复选框,然后服务启动,何时取消选中服务已停止。哪个工作完全正常但问题是当我从任务管理器关闭应用程序,然后也停止服务。我想要的是即使在任务管理器关闭后仍然保持服务运行。那么...
  • redux-saga是一个库,旨在使应用程序作用(即,诸如数据获取之类的异步事物和诸如访问浏览器缓存之类的不纯之物)更易于管理,更高效地执行,易于测试并且更好地处理故障。 心理模型是,传奇就像应用程序中的...
  • 当java应用程序启动时,它还没有安全管理器,应用程序可以通过将一个指向java.lang.SecurityManager或是其子类的实例传给 System.setSecurityManager()来安装一个安全管理器,安全管理器作用嘛,谁用谁知道,留下...
  • AutoRuns是一款出色的启动项目管理工具,首先我们来谈一下它的作用:AUTORUNSR的作用就是检查开机自动加载的所有程序,例如硬件驱动程序,windows核心启动程序和应用程序.它比windows自带的msconfig.exe还要强大,...
  • 怎样搞定crasos.exe这个自启动...用工具也清除不掉,我自己想了一个很土的办法,居然能有一定的作用,省得每次开机时声音总是静音,我是这么做的1、进入任务管理器,将crasos.exe进程终止2、进入c:\winnt\,删除cr...
  • 简单来说,显示管理器display manager(DM)是一个为你的 Linux 发行版提供图形登录功能的程序。它控制用户会话并管理用户认证。显示管理器会在你输入用户名和密码后,立即启动显示服务器并加载桌面环境。 显示管理...
  • 如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序。如果你正在对某个程序进行操作,而想得到Windows帮助,则需要按下Win+F1。按下Shift+F1,会出现"What\'s This?"的...
  • 启动被调试程序  2.设置断点  3.查看断点处变量的值  调试选项 -g  gcc -g text.c -o text  gdb test //(gdb + 可执行文件) 作用 : 打开gdb调试工具   用到的指令解释:  run 运行程序 所有的...
  • 为什么要配置节点管理器呢? 节点管理的作用是让我们可以远程的管理集群中的服务器(开启,关闭以及重启服务器)。 举个简单的例子,如上图,有一个管理服务器和三个受管理服务器,如果您的应用程序及资源被部署...
  • 启动被调试程序  2.设置断点  3.查看断点处变量的值  调试选项 -g  gcc -g text.c -o text  gdb test //(gdb + 可执行文件) 作用 : 打开gdb调试工具  用到的指令解释:  run 运行程序 所有的命令都可以...
  • 凡是Windows系列的操作系统...在Windows 2000/XP和其他Windows NT内核的系统中,Explorer.exe进程并不是系统运行时所必需的,所以可以用任务管理器来结束它,并不影响系统的正常工作。打开你需要运行的程序,如记事...
  • 简单来说,显示管理器(display manager)(DM)是一个为你的 Linux 发行版提供图形登录功能的程序。它控制用户会话并管理用户认证。显示管理器会在你输入用户名和密码后,立即启动显示服务器并加载桌面环境。 显示...
  • DnDTracker是《龙与地下城》的战役实用程序和数据跟踪。 你可以找到master住和develop。 这是它的作用: 在数据库中保留有关您当前和过去的广告系列的信息。 为Dungeon Master提供广告活动当前状态和事件日志...
  • 使用GPG加密的简单,集中,基于团队的跨平台凭据管理器。 该存储库是communikey应用程序的前端部分。 如果要自己运行communikey,请遵循两个存储库的设置指南 先决条件 您需要进行以下设置并准备就绪,以使...
  • XP 设备管理器错误代码!

    千次阅读 2011-10-26 11:47:30
    Code 1 This device is not configured correctly.(Code 1) 推荐的解决方案: ...如果更新驱动程序不起作用,请参阅硬件文档以了解更多信息。 Code 3 The driver for this device might be corrupte
  • 简单来说, 显示管理器(display manager) (DM)是一个为你的 Linux 发行版提供图形登录功能的程序。它控制用户会话并管理用户认证。显示管理器会在你输入用户名和密码后,立即启动显示服务器并加载桌面环境。显示...
  • 修复了“浏览历史记录”在另一台计算机上不起作用的问题-在页脚面板上添加了当前模式的文本(“搜索”或“浏览”)-添加了“实时应用'选项,它允许实时应用选项更改-重新排列的搜索过滤选项,某些选项可以根据其...
  • 前端出血程序 Preact + TypeScript + Redux-Zero + Moar .. 这个入门项目包含许多功能,可加快开发速度,并带来许多乐趣,而今天这些功能非常方便。 特征: 强大的键入功能和JavaScript的未来 dom操作+组件 状态...
  • 它是Windows操作系统的基本图形文件管理实用程序,最初是有Windows 95引入的,后来被称为文件资源管理器。在用户访问磁盘或打开包含文件的文件夹时,都会使用Windows资源管理器。这个文件管理程序的主要作用是允许...
  • ml_disabler 用于在Windows中停止和启动MSI MysticLight服务的GUI。 它有什么作用 如标题所述,它是一个用python编程的小应用程序,用于停止和启动...只是节省时间,因为您不必在Windows的任务管理器中手动停止它们。
  • storyboard文件的认识作用:描述软件界面程序启动过程配置程序启动就会加载的storyboard控制IBActionIBOutlet关于IBAction、 IBOutlet前缀IB的解释常见错误第1个错误第2个错误项目的常见属性 作用:描述软件...
  • Windows 服务程序(二)

    2018-07-31 21:40:00
    服务控制管理器 (SCM, Service Control Manager),它在系统启动时自动启动,其主要作用是维护和管理一张服务信息表。 OpenSCManager() 介绍:功能:建立了一个到服务控制管理器的连接,并打开指定的数据库。函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 878
精华内容 351
关键字:

启动管理器程序作用