Flask入门教程name='peter')) # 输出:/user/peter print(url_for('test_url_for')) # 输出:/test # 下面这个调用传入了多余的关键字参数,它们会被作为查询字符串附加到 URL 后面。 print(url_for('test_url_for', num=2)) # 输出:/test?num=2 return 'Test page' 户访问时根据程 序逻辑动态生成。 我们把包含变量和运算逻辑的 HTML 或其他格式的文本叫做模板,执行这些变量替 换和逻辑计算工作的过程被称为渲染,这个工作由我们这一章要学习使用的模板渲 染引擎——Jinja2 来完成。 按照默认的设置,Flask 会从程序实例所在模块同级目录的 templates 文件夹中寻 找模板,我们的程序目前存储在项目根目录的 app.py 文件里,所以我们要在项目 属性调用可选的过滤方法和查询方法,我们就可以获取到 对应的单个或多个记录(记录以模型类实例的形式表示)。查询语句的格式如下: <模型类>.query.<过滤方法(可选)>.<查询方法> 下面是一些常用的过滤方法: 过滤方法 说明 filter() 使用指定的规则过滤记录,返回新产生的查询对象 filter_by() 使用指定规则过滤记录(以关键字表达式的形式),返回新产生 的查询对象 order_by()0 码力 | 127 页 | 7.62 MB | 1 年前3
Django 官方教程翻译项目54. >>> r.article_set.all() 55.]> 56. 57. # 这个 API 接受你所需的查询条件,并在后台高效地执行 JOIN 数据库操作。 58. # 这个操作会查找所有以 "John" 开头的记者发表的文章。 59. >>> Article.objects.filter(repor 来避免令人头痛地切换数据库问题。 如果你希望使用其他数据库,你需要安装合适的 database bingings 和在 DATABASES ‘default’ 默认项里改变一些键值,以匹配你的数据库设置: 引擎(ENGINE) - ‘django.db.backends.sqlite3’、 ‘django.db.backends.postgresql’、 ‘django.db.backends.mysql’ 每个视图必须要做的只有两件事:返回一个包含被请求页面内容的 HttpResponse 对象,或者抛出 一个异常,比如 Http404。至于你还想干些什么,都随你。 你的视图可以从数据库里读取记录,可以使用一个模板引擎(比如 Django 自带的,或者其他第三 方的),可以生成一个 PDF 文件,可以输出一个 XML,创建一个 ZIP 文件,你可以做任何你想做 的事,使用任何你想用的 Python 库。 Django 0 码力 | 103 页 | 1.86 MB | 1 年前3
Python 3.11.10 正则表达式 HOWTO 或以各种方式将其拆分。 正则表达式 pattern 会被编译成一系列字节码,然后由 C 语言编写的匹配引擎执行。对于高级应用场景,可 能需要仔细考虑引擎如何执行给定的正则表达式,并以特定的方式编写正则表达式,以生成运行速度更快的 字节码。然而,本文不会涉及此类优化技术,因为这要求读者对匹配引擎的内部机制有深入的理解。 正则表达式语言相对较小且受限,因此并非所有的字符串处理任务都能用正则表达式完成。有些任务尽管 (0 个 'a' )、'cat' (1 个 'a' )、'caaat' (3 个 'a' )等等。 像 * 这样的重复匹配是 贪婪的。当重复匹配正则时,匹配引擎会尝试重复尽可能多的次数。如果 pattern 的 后续部分无法匹配成功,匹配引擎会回退并尝试减少重复次。 3 我们可以通过一个逐步的例子来更好理解这一点。来看看这个正则表达式 a[bcd]*b 。该表达式匹配的是, 首先是一个字母 'a' 的字母,最后以一个 'b' 结尾。现在,让我们 想象一下用这个正则去匹配字符串 'abcbd' 的过程。 步骤 匹配 说明 1 a 正则中的 a 匹配成功。 2 abcbd 引擎尽可能多地匹配 [bcd]* ,直至字符串末尾。 3 失败 引擎试图匹配正则中的 b ,但是当前位置已到达字符串末尾,因此匹配失败。 4 abcb 回退,让 [bcd]* 少匹配一个字符。 5 失败 再次尝试匹配正则中的 b ,但是当前位置上的字符是最后一个字符0 码力 | 19 页 | 403.22 KB | 11 月前3
Python 3.9.20 正则表达式 HOWTO 以各种方 式将其拆分。 正则表达式 pattern 会被编译成一系列字节码,然后由 C 语言编写的匹配引擎执行。对于高级应用场景, 可能需要仔细考虑引擎如何执行给定的正则表达式,并以特定的方式编写正则表达式,以生成运行速度 更快的字节码。然而,本文不会涉及此类优化技术,因为这要求读者对匹配引擎的内部机制有深入的理 解。 正则表达式语言相对较小且受限,因此并非所有的字符串处理任务都能用正则表达式完成。有些任务尽 'ct'(0 个 'a' )、'cat'(1 个 'a' )、'caaat'(3 个 'a' )等等。 像 * 这样的重复匹配是 贪婪的。当重复匹配正则时,匹配引擎会尝试重复尽可能多的次数。如果 pattern 的后续部分无法匹配成功,匹配引擎会回退并尝试减少重复次。 我们可以通过一个逐步的例子来更好理解这一点。来看看这个正则表达式 a[bcd]*b 。该表达式匹配的 是,首先是一个字母 'a' ,然后是零个或多个来自字符类 的字母,最后以一个 'b' 结尾。现在, 让我们想象一下用这个正则去匹配字符串 'abcbd' 的过程。 步骤 匹配 说明 1 a 正则中的 a 匹配成功。 2 abcbd 引擎尽可能多地匹配 [bcd]* ,直至字符串末尾。 3 失败 引擎试图匹配正则中的 b ,但是当前位置已到达字符串末尾,因此匹配失败。 4 abcb 回退,让 [bcd]* 少匹配一个字符。 5 失败 再次尝试匹配正则中的 b ,但是当前位置上的字符是最后一个字符0 码力 | 18 页 | 401.42 KB | 11 月前3
Python 3.9.20 正则表达式 HOWTO 或以各种方式将其拆分。 正则表达式 pattern 会被编译成一系列字节码,然后由 C 语言编写的匹配引擎执行。对于高级应用场景,可 能需要仔细考虑引擎如何执行给定的正则表达式,并以特定的方式编写正则表达式,以生成运行速度更快的 字节码。然而,本文不会涉及此类优化技术,因为这要求读者对匹配引擎的内部机制有深入的理解。 正则表达式语言相对较小且受限,因此并非所有的字符串处理任务都能用正则表达式完成。有些任务尽管 (0 个 'a' )、'cat' (1 个 'a' )、'caaat' (3 个 'a' )等等。 像 * 这样的重复匹配是 贪婪的。当重复匹配正则时,匹配引擎会尝试重复尽可能多的次数。如果 pattern 的 后续部分无法匹配成功,匹配引擎会回退并尝试减少重复次。 我们可以通过一个逐步的例子来更好理解这一点。来看看这个正则表达式 a[bcd]*b 。该表达式匹配的是, 首先是一个字母 'a' ,然后是零个或多个来自字符类 'b' 结尾。现在,让我们 想象一下用这个正则去匹配字符串 'abcbd' 的过程。 3 步骤 匹配 说明 1 a 正则中的 a 匹配成功。 2 abcbd 引擎尽可能多地匹配 [bcd]* ,直至字符串末尾。 3 失败 引擎试图匹配正则中的 b ,但是当前位置已到达字符串末尾,因此匹配失败。 4 abcb 回退,让 [bcd]* 少匹配一个字符。 5 失败 再次尝试匹配正则中的 b ,但是当前位置上的字符是最后一个字符0 码力 | 18 页 | 400.78 KB | 11 月前3
Python 3.11.10 正则表达式 HOWTO 以各种方 式将其拆分。 正则表达式 pattern 会被编译成一系列字节码,然后由 C 语言编写的匹配引擎执行。对于高级应用场景, 可能需要仔细考虑引擎如何执行给定的正则表达式,并以特定的方式编写正则表达式,以生成运行速度 更快的字节码。然而,本文不会涉及此类优化技术,因为这要求读者对匹配引擎的内部机制有深入的理 解。 正则表达式语言相对较小且受限,因此并非所有的字符串处理任务都能用正则表达式完成。有些任务尽 'ct'(0 个 'a' )、'cat'(1 个 'a' )、'caaat'(3 个 'a' )等等。 像 * 这样的重复匹配是 贪婪的。当重复匹配正则时,匹配引擎会尝试重复尽可能多的次数。如果 pattern 的后续部分无法匹配成功,匹配引擎会回退并尝试减少重复次。 我们可以通过一个逐步的例子来更好理解这一点。来看看这个正则表达式 a[bcd]*b 。该表达式匹配的 是,首先是一个字母 'a' ,然后是零个或多个来自字符类 'b' 结尾。现在, 让我们想象一下用这个正则去匹配字符串 'abcbd' 的过程。 3 步骤 匹配 说明 1 a 正则中的 a 匹配成功。 2 abcbd 引擎尽可能多地匹配 [bcd]* ,直至字符串末尾。 3 失败 引擎试图匹配正则中的 b ,但是当前位置已到达字符串末尾,因此匹配失败。 4 abcb 回退,让 [bcd]* 少匹配一个字符。 5 失败 再次尝试匹配正则中的 b ,但是当前位置上的字符是最后一个字符0 码力 | 18 页 | 403.35 KB | 11 月前3
Python3 基础教程 - 廖雪峰的 XML 格式的天气预报,获取当天 和第二天的天气: http://weather.yahooapis.com/forecastrss?u=c&w=2151330 参数 w 是城市代码,要查询某个城市代码,可以在 weather.yahoo.com 搜 索城市,浏览器地址栏的 URL 就包含城市代码。 # -*- coding:utf-8 -*- from xml.parsers weather['tomorrow']['high'] print('Weather:', str(weather)) 参考源码 use_sax.py HTMLParser 如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下 来,第二步就是解析该 HTML 页面,看看里面的内容到底是新闻、图 片还是视频。 假设第一步已经完成了,第二步应该如何解析 HTML 呢? HTML 还是标准,自己定义的格式就各式各 样了; 不能做快速查询,只有把数据全部读到内存中才能自己遍历,但有时候 数据的大小远远超过了内存(比如蓝光电影,40GB 的数据),根本无 法全部读入内存。 为了便于程序保存和读取数据,而且,能直接通过条件快速查询到指定 的数据,就出现了数据库(Database)这种专门用于集中存储和查询的 软件。 Python3 基础教程【完整版】 http://www0 码力 | 531 页 | 5.15 MB | 1 年前3
PyWebIO v1.2.3 使用手册的更多信息请查阅命令帮助:pywebio-path-deploy —help 在 Server 模式下,可以使用pywebio.platform.seo() 函数来设置任务函数 SEO 信息(在被搜索引擎索 引时提供的网页信息,包含应用标题和应用简介),如果不使用 seo() 函数,默认条件下,PyWebIO 会将任 务函数的函数注释作为 SEO 信息(应用标题和简介之间使用一个空行分隔)。 注意: ') start_server(main, auto_open_webbrowser=True) run_async(coro) 返回一个TaskHandler ,通过该TaskHandler 可以查询协程运行状态和关闭协程。 28 Chapter 4. Documentation PyWebIO, 发布 1.2.3 会话的结束 与基于线程的会话类似,在基于协程的会话中,当任务函数和在会话内通过run_async() 异步运行协程对象。协程中依然可以调用 PyWebIO 交互函数。 run_async() 仅能在基于协程 的会话上下文中调用 参数 coro_obj –协程对象 返回 TaskHandle 实例。通过 TaskHandle 可以查询协程运行状态和关闭协程。 参见:协程会话的并发 pywebio.session.run_asyncio_coroutine(coro_obj) 若会话线程和运行 asyncio 事件循环的线程0 码力 | 102 页 | 1.67 MB | 1 年前3
PyWebIO v1.1.0 使用手册: index, 'task_1':␣ �→task_1, 'task_2': task_2}) 可以使用pywebio.platform.seo() 函数来设置任务函数 SEO 信息(在被搜索引擎索引时提供的网页信 息,包含应用标题和应用简介),如果不使用 seo() 函数,默认条件下,PyWebIO 会将任务函数的函数注释 作为 SEO 信息(应用标题和简介之间使用一个空行分隔)。 注意: exited.') start_server(main, auto_open_webbrowser=True) run_async(coro) 返回一个TaskHandle ,通过TaskHandle 可以查询协程运行状态和关闭协程。 协程会话的关闭 与基于线程的会话类似,在基于协程的会话中,当任务函数和在会话内通过run_async() 运行的协程全部 结束后,会话关闭。 对于因为用户的关闭浏览 异步运行协程对象。协程中依然可以调用 PyWebIO 交互函数。仅能在基于协程 的会话上下文中调用 参数 coro_obj –协程对象 返回 TaskHandle 实例。通过 TaskHandle 可以查询协程运行状态和关闭协程。 参见:协程会话的并发 54 Chapter 4. Documentation PyWebIO, 发布 1.1.0 pywebio.session.run_async0 码力 | 98 页 | 1.73 MB | 1 年前3
PyWebIO v1.2.2 使用手册的更多信息请查阅命令帮助:pywebio-path-deploy —help 在 Server 模式下,可以使用pywebio.platform.seo() 函数来设置任务函数 SEO 信息(在被搜索引擎索 引时提供的网页信息,包含应用标题和应用简介),如果不使用 seo() 函数,默认条件下,PyWebIO 会将任 务函数的函数注释作为 SEO 信息(应用标题和简介之间使用一个空行分隔)。 注意: (续上页) start_server(main, auto_open_webbrowser=True) run_async(coro) 返回一个TaskHandler ,通过该TaskHandler 可以查询协程运行状态和关闭协程。 会话的结束 与基于线程的会话类似,在基于协程的会话中,当任务函数和在会话内通过run_async() 运行的协程全部 结束后,会话关闭。 对于因为用户的关闭浏览器而 异步运行协程对象。协程中依然可以调用 PyWebIO 交互函数。 run_async() 仅能在基于协程 的会话上下文中调用 参数 coro_obj –协程对象 返回 TaskHandle 实例。通过 TaskHandle 可以查询协程运行状态和关闭协程。 参见:协程会话的并发 pywebio.session.run_asyncio_coroutine(coro_obj) 若会话线程和运行 asyncio 事件循环的线程0 码力 | 102 页 | 1.69 MB | 1 年前3
共 133 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













