提交 621b4e5c 编写于 作者: W wizardforcel

2019-11-20 18:03:25

上级 ae68a0c3
......@@ -9,7 +9,7 @@
![Python Database ](img/4c7e8cbef62872a3c49fc4085527514d.jpg)
Python数据库。
Python 数据库。
使用 SQL 语言从数据库系统检索数据。 数据无处不在,软件应用程序使用它。 数据位于内存,文件或数据库中。
......@@ -48,17 +48,17 @@ import sys
con = None
try:
    con = lite.connect('test.db')
    cur = con.cursor()  
    cur.execute('SELECT SQLITE_VERSION()')
    data = cur.fetchone()
    print "SQLite version: %s" % data                
except lite.Error, e:   
    print "Error %s:" % e.args[0]
    sys.exit(1)
finally:    
    if con:
        con.close()
con = lite.connect('test.db')
cur = con.cursor()
cur.execute('SELECT SQLITE_VERSION()')
data = cur.fetchone()
print "SQLite version: %s" % data
except lite.Error, e:
print "Error %s:" % e.args[0]
sys.exit(1)
finally:
if con:
con.close()
```
......@@ -132,7 +132,7 @@ cur.execute("INSERT INTO Users VALUES(3,'Greg')")
```
第一个值是ID。 第二个值是名称。 一旦运行脚本,数据便被插入到数据库表`Users`中:
第一个值是 ID。 第二个值是名称。 一旦运行脚本,数据便被插入到数据库表`Users`中:
![SQL Table](img/6331a77064535de9dc0a93e8b103f00d.jpg)
......@@ -142,7 +142,7 @@ SQL 表
我们可以使用两种方法浏览数据库:命令行和图形界面。
_ 从控制台:_ 要使用命令行进行浏览,请键入以下命令:
从控制台:要使用命令行进行浏览,请键入以下命令:
```py
sqlite3 user.db
......@@ -151,7 +151,7 @@ SELECT * FROM Users;
```
这将在表 Users 中输出数据。
这将在表`Users`中输出数据。
```py
sqlite> SELECT * FROM Users;
......@@ -161,7 +161,7 @@ sqlite> SELECT * FROM Users;
```
_ 从 GUI:_ 如果要使用 GUI,则有很多选择。 我个人选择了 sqllite-man,但还有[很多其他](https://stackoverflow.com/questions/835069/which-sqlite-administration-console-do-you-recommend)我们使用以下方法安装:
从 GUI:如果要使用 GUI,则有很多选择。 我个人选择了 sqllite-man,但还有[很多其他](https://stackoverflow.com/questions/835069/which-sqlite-administration-console-do-you-recommend)我们使用以下方法安装:
```py
sudo apt-get install sqliteman
......@@ -174,7 +174,7 @@ sudo apt-get install sqliteman
sqliteman
文件>打开>user.db。 似乎变化不大,不用担心,这只是用户界面。 左侧是一棵小树状视图,请按 Tables >用户。 现在将显示包括所有记录的完整表格。
“文件 > 打开 > `user.db`”。 似乎变化不大,不用担心,这只是用户界面。 左侧是一棵小树状视图,请按“表 > 用户”。 现在将显示包括所有记录的完整表格。
![sqliteman](img/60354a5e7e39d04c97a1ee14b3b5db1b.jpg)
......@@ -219,7 +219,7 @@ with con:
```
这将从数据库输出“用户”表中的所有数据:
这将从数据库输出`Users`表中的所有数据:
```py
$ python get.py
......@@ -234,13 +234,13 @@ $ python get.py
我们可以跨多个表构建数据。 这使我们的数据保持结构化,快速和有条理。 如果我们只有一个表来存储所有内容,那么很快就会陷入混乱。 我们将要做的是创建多个表并将它们组合使用。 我们创建两个表:
_ 位用户:_
`Users`
![SQL Table](img/f713e77b9a67592c539974f0fd3c7bbe.jpg)
SQL Table
_ 职位:_
`Jobs`
![SQL Table](img/e1cf4ef1a7f5301ee63ded4806461cb2.jpg)
......@@ -271,7 +271,7 @@ with con:
```
作业表有一个额外的参数 Uid。 我们使用它来连接 SQL 查询中的两个表:
作业表有一个额外的参数`Uid`。 我们使用它来连接 SQL 查询中的两个表:
```py
SELECT users.name, jobs.profession FROM jobs INNER JOIN users ON users.ID = jobs.uid
......
......@@ -2,20 +2,22 @@
> 原文: [https://pythonspot.com/mysql-with-python](https://pythonspot.com/mysql-with-python)
在本教程中,您将学习如何在 Python 中使用广泛使用的 _ 数据库管理系统 _,称为 _MySQL_ 。 您不需要使用 MySQL 的任何先验知识即可使用本教程,但是,除了本简短的入门教程所涵盖的内容外,MySQL 还有很多其他内容。
在本教程中,您将学习如何在 Python 中使用广泛使用的数据库管理系统,称为 MySQL。您不需要使用 MySQL 的任何先验知识即可使用本教程,但是,除了本简短的入门教程所涵盖的内容外,MySQL 还有很多其他内容。
## MySQL 教程
数据存储在表的 _ 集合 _ 中,每个表由一组行和列组成。 这类似于在 [SQLite](https://pythonspot.com/python-database-programming-sqlite-tutorial/) 中存储数据的方式。 为了与表中存储的数据进行交互,我们使用一种称为 SQL 的专用编程语言。
数据存储在表的集合中,每个表由一组行和列组成。 这类似于在 [SQLite](https://pythonspot.com/python-database-programming-sqlite-tutorial/) 中存储数据的方式。 为了与表中存储的数据进行交互,我们使用一种称为 SQL 的专用编程语言。
## 步骤 1:安装 MySQL
首先,您必须安装 MySQL 驱动程序,使用下面的特定安装方法。
_ 在 Windows 上:_
使用[安装程序安装 MySQLdb。](https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.win32-py2.7.msi/download)
在 Windows 上:
[使用安装程序安装 MySQLdb](https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.win32-py2.7.msi/download)
在 Linux 上:
_ 在 Linux 上:_
使用以下命令安装 MySQLdb:
```py
......@@ -26,8 +28,9 @@ yum install mysql-python
取决于您的版本。
_ 在 Mac 上:_
按照 stackoverflow 的安装说明[](https://stackoverflow.com/questions/1448429/how-to-install-mysqldb-python-data-access-library-to-mysql-on-mac-os-x#1448476)
在 Mac 上:
[按照 stackoverflow 的安装说明](https://stackoverflow.com/questions/1448429/how-to-install-mysqldb-python-data-access-library-to-mysql-on-mac-os-x#1448476)
必须先运行 MySQL 服务器,然后再进行下一步。
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonspot.com/orm-with-sqlalchemy](https://pythonspot.com/orm-with-sqlalchemy)
对象关系映射器将关系数据库系统映射到对象。 如果您不熟悉面向对象的编程,请先阅读本教程的[。 ORM 与使用哪个关系数据库系统无关。 在 Python 中,您可以与对象对话,ORM 会将其映射到数据库。 在本文中,您将学习如何使用 SqlAlchemy ORM。](https://pythonspot.com/objects-and-classes)
对象关系映射器将关系数据库系统映射到对象。如果您不熟悉面向对象的编程,请先阅读[本教程](https://pythonspot.com/objects-and-classes)。ORM 与使用哪个关系数据库系统无关。在 Python 中,您可以与对象对话,ORM 会将其映射到数据库。在本文中,您将学习如何使用 SqlAlchemy ORM。
下图显示了 ORM 的功能:
......@@ -12,7 +12,7 @@ ORM 对象关系映射。 我们使用 ORM 与数据库进行通信,并且仅
## 创建一个类来填充 ORM
我们创建文件 tabledef.py。 在这个文件中,我们将定义一个 Student 类。 下面的类的抽象可视化:
我们创建文件`tabledef.py`。 在这个文件中,我们将定义一个`Student`类。 下面是类的抽象可视化:
![class](img/56afbfa748895a916cb9a83cb407e791.jpg)
......@@ -20,7 +20,7 @@ ORM 对象关系映射。 我们使用 ORM 与数据库进行通信,并且仅
请注意,我们没有定义任何方法,仅定义了类的变量。 这是因为我们会将此类映射到数据库,因此不需要任何方法。
这是 tabledef.py 的内容:
这是`tabledef.py`的内容:
```py
from sqlalchemy import *
......@@ -63,7 +63,7 @@ python tabledef.py
```
ORM 创建了数据库文件 tabledef.py。 它将 SQL 查询输出到屏幕,在本例中显示为:
ORM 创建了数据库文件`tabledef.py`。 它将 SQL 查询输出到屏幕,在本例中显示为:
```py
CREATE TABLE student (
......@@ -81,7 +81,7 @@ CREATE TABLE student (
## 将数据插入数据库
数据库表仍然为空。 我们可以使用 Python 对象将数据插入数据库。 因为我们使用 SqlAlchemy ORM,所以我们不必编写单个 SQL 查询。 现在,我们只需创建要馈送到 ORM 的 Python 对象。 将下面的代码另存为 dummy.py
数据库表仍然为空。 我们可以使用 Python 对象将数据插入数据库。 因为我们使用 SqlAlchemy ORM,所以我们不必编写单个 SQL 查询。 现在,我们只需创建要馈送到 ORM 的 Python 对象。 将下面的代码另存为`dummy.py`
```py
import datetime
......@@ -125,7 +125,7 @@ ORM 会将 Python 对象映射到关系数据库。 这意味着您无需与应
## 查询数据
我们可以使用以下代码查询表的所有项目。 请注意,Python 将每条记录视为 Student 类定义的唯一对象。 将代码另存为 demo.py
我们可以使用以下代码查询表的所有项目。 请注意,Python 将每条记录视为`Student`类定义的唯一对象。 将代码另存为`demo.py`
```py
import datetime
......@@ -154,7 +154,7 @@ Eric York
```
要选择单个对象,请使用 filter()方法。 下面的演示:
要选择单个对象,请使用`filter()`方法。 下面的演示:
```py
import datetime
......@@ -181,7 +181,7 @@ Eric York
```
最后,如果您不希望 ORM 输出,则任何 SQL 查询的输出都将 create_engine 语句更改为:
最后,如果您不希望 ORM 输出,则任何 SQL 查询的输出都将`create_engine`语句更改为:
```py
engine = create_engine('sqlite:///student.db', echo=False)
......
......@@ -7,7 +7,8 @@
![pythonQuote](img/70a9514350dec1b5880953cebd0fae0a.jpg)
Web 应用程序通常是使用框架创建的。 框架使开发可扩展,可靠和可维护的 Web 应用程序变得更加容易。 这样可以避免一遍又一遍地重新创建相同的代码。
的共同特征是:
共同特征是:
* URL 路由
* 输出模板
......@@ -49,9 +50,9 @@ Django 和 Flask 是最受欢迎的Web框架。 但是,您可能需要评估
[Django](https://www.djangoproject.com/) 是最常用的 Python 网络框架。 它会处理很多事情,因此您可以专注于 Web 应用程序开发。 使用 Django 构建的网站处理的流量峰值很高,例如每秒 5 万次点击。
数据库访问是通过对象关系映射器实现的:您使用 Python 定义数据模型,而 Django 处理实际的数据库管理系统(SQL)。 但是,如果需要,您可以使用 Django 编写自己的 SQL 查询。 Django 支持 URL 路由。 它鼓励使用精美的 URL 设计,例如不带.php 或.asp 的结尾。
数据库访问是通过对象关系映射器实现的:您使用 Python 定义数据模型,而 Django 处理实际的数据库管理系统(SQL)。 但是,如果需要,您可以使用 Django 编写自己的 SQL 查询。 Django 支持 URL 路由。 它鼓励使用精美的 URL 设计,例如不带`.php``.asp`的结尾。
**功能**
**特性**
* 对象关系映射器
* 网址路由和视图
......@@ -95,7 +96,7 @@ if __name__ == '__main__':
* 会话管理
* 记录中
* 日志
如果您想进一步了解 Flask,[阅读这里](https://pythonspot.com/python-flask-tutorials/)。您知道 Flask 最初是愚人节的笑话吗?
......
......@@ -4,13 +4,13 @@
在本教程中,您将学习如何使用 Python 构建网络应用。
我们将使用称为 [Flask](https://pythonspot.com/python-flask-tutorials/) 的微型框架。 它的核心很小,但是可以通过许多插件扩展,例如 SQLAlchemy,Babel,CouchDB,MongoDB 等。
我们将使用称为 [Flask](https://pythonspot.com/python-flask-tutorials/) 的微型框架。它的核心很小,但是可以通过许多插件扩展,例如 SQLAlchemy,Babel,CouchDB,MongoDB 等。
一些 Flask 示例应用为:
* [flaskr](http://flask.pocoo.org/docs/0.10/tutorial/introduction/) -微博
* [flaskr](http://flask.pocoo.org/docs/0.10/tutorial/introduction/) - 微博
* [minitwit](https://github.com/mitsuhiko/flask/tree/master/examples/minitwit/) -- 一个推特克隆
* [flask 网站](https://github.com/mitsuhiko/flask-website)-静态页面+邮件列表文件
* [flask 网站](https://github.com/mitsuhiko/flask-website) - 静态页面+邮件列表文件
## 安装 Flask
......@@ -47,6 +47,6 @@ $ python hello.py
```
在您的网络浏览器中打开 [http:// localhost:5000 /](http://localhost:5000/) ,然后会出现“ Hello World!”
在您的网络浏览器中打开 [http://localhost:5000/](http://localhost:5000/) ,然后会出现`"Hello World!"`
[下载 Flask 示例](https://pythonspot.com/download-flask-examples/)
\ No newline at end of file
[下载 Flask 示例](https://pythonspot.com/download-flask-examples/)
\ No newline at end of file
......@@ -6,8 +6,7 @@ Jinja2 是 Python 的模板引擎。 将数据呈现到网页时,可以使用
## 关于 Jinja
Jinja2 模板只是一个文本文件,不需要特定的扩展名,例如.html,.xml。
模板可能包含标签和特殊定界符:
Jinja2 模板只是一个文本文件,不需要特定的扩展名,例如`.html``.xml`。模板可能包含标签和特殊定界符:
| 定界符 | 用法 |
| --- | --- |
......@@ -20,43 +19,43 @@ Jinja2 模板只是一个文本文件,不需要特定的扩展名,例如.htm
## 基本模板和子模板
Jinja2 模板可以扩展基本模板。 在包含许多站点的网页上,您可能希望这些页面看起来相似。 在/ templates /中,使用以下代码创建一个名为 base.html 的文件:
Jinja2 模板可以扩展基本模板。 在包含许多站点的网页上,您可能希望这些页面看起来相似。 在`/templates/`中,使用以下代码创建一个名为`base.html`的文件:
```py
<block head %>
{% block head %}
<link rel="stylesheet" href="style.css">
<title><block title %><endblock %> - My Webpage</title>
<endblock %>
<div id="content"><block content %><endblock %></div>
{% title><block title %}{% endblock %} - My Webpage</title>
{% endblock %}
{% div id="content"><block content %}{% endblock %}</div>
<div id="footer">
<block footer %>
{% block footer %}
Copyright 2015 by <a href="https://pythonspot.com/">pythonspot</a>.
<endblock %></div>
{% endblock %}</div>
```
_ 我们没有设置 style.css,但是您可以设置一个。_ 将/templates/user.html 更改为:
我们没有设置`style.css`,但是您可以设置一个。将`/templates/user.html`更改为:
```py
<extends "base.html" %>
<block title %>Index<endblock %>
<block head %>
<#123; super() >>
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
{{ super() }}
<style type="text/css">
.important <olor: #336699; ><br />
.important { color: #336699; }
</style>
<endblock %>
<block content %>
{% endblock %}
{% block content %}
<h1>Users</h1>
<p class="important"></p>
<ul>
<for user in users %>
<li><#123; user >></li>
<endfor %></ul>
<endblock %>
{% for user in users %}
<li>{{ user }}</li>
{% endfor %}</ul>
{% endblock %}
```
......@@ -72,6 +71,6 @@ python app.py
![template jinja](img/b183ab9d09b4460a2626a0004e1f1b00.jpg)
Flask Jinja template engine
Flask Jinja 模板引擎
[下载 Flask 示例](https://pythonspot.com/download-flask-examples/)
\ No newline at end of file
......@@ -40,7 +40,7 @@ URL 路由使 Web 应用程序中的 URL 易于记住。 现在,我们将创
```
复制下面的代码,并将其另存为 app.py
复制下面的代码,并将其另存为`app.py`
```py
from flask import Flask
......
......@@ -50,7 +50,7 @@ app.run(debug=True,host='0.0.0.0', port=4000)
第一个显示基于登录条件的登录屏幕或主屏幕。第二个路由在登录时验证登录变量。
我们创建目录/ templates /。 使用以下代码创建文件/templates/login.html
我们创建目录`/templates/`。 使用以下代码创建文件`/templates/login.html`
```py
{% block body %};
......@@ -77,7 +77,7 @@ $ python hello.py
```
在您的网络浏览器中打开 [http:// localhost:4000 /](http://localhost:5000/) ,然后会出现登录屏幕。 登录凭据显示在 _do_admin_login()_ 函数中。
在您的网络浏览器中打开 [http://localhost:5000/](http://localhost:5000/) ,然后会出现登录屏幕。 登录凭据显示在`do_admin_login()`函数中。
![Pythonspot.com Login Screen Python](img/00af7aae4e992d7feccf73ba2c75cb8f.jpg)
......@@ -304,7 +304,7 @@ python tabledef.py
```
该文件将创建数据库结构。 在目录内,您将找到一个名为 _tutorial.db 的文件。_ 创建一个名为 **dummy.py** 的文件,其中将包含以下代码:
该文件将创建数据库结构。在目录内,您将找到一个名为`tutorial.db`的文件。创建一个名为`dummy.py`的文件,其中将包含以下代码:
```py
import datetime
......@@ -341,7 +341,7 @@ $ python dummy.py
```
这会将伪数据放入数据库中。 最后,我们更新 **app.py**
这会将伪数据放入数据库中。 最后,我们更新`app.py`
## 使用 SqlAlchemy 验证登录凭据
......@@ -365,7 +365,7 @@ return "Object not found " + POST_USERNAME + " " + POST_PASSWORD
```
我们使用 SqlAlchemys Oject 关系映射(ORM)。 我们将对象映射到关系数据库表,反之亦然。 定义(用户)在 tabledef.py 中给出。 s.query 函数是构建查询的地方。 我们有两个条件:用户名和密码必须匹配。 如果对象存在,query.first()返回 true,否则返回 false。 这给出了以下总代码:
我们使用 SqlAlchemys Oject 关系映射(ORM)。 我们将对象映射到关系数据库表,反之亦然。 定义(用户)在`tabledef.py`中给出。`s.query`函数是构建查询的地方。 我们有两个条件:用户名和密码必须匹配。 如果对象存在,`query.first()`返回`true`,否则返回`false`。 这给出了以下总代码:
```py
from flask import Flask
......@@ -419,7 +419,7 @@ app.run(debug=True,host='0.0.0.0', port=4000)
[下载 Flask 示例](https://pythonspot.com/en/download-flask-examples/)
_ 最佳做法:_
最佳做法:
* [散列数据库密码](https://en.wikipedia.org/wiki/Hash_function)。 不要将它们存储为纯文本格式。
......
......@@ -12,7 +12,7 @@
## 使用 Google 的登录验证
我们使用名为 **flask_oauth** 的模块向 Google 进行身份验证。 它由 Flask 的创建者 Armin Ronacher 维护,因此可以确保该模块不会消失。 该模块使用 OAuth,该协议提供令牌以访问资源。 其他模块可能没有很好的支持。
我们使用名为`flask_oauth`的模块向 Google 进行身份验证。 它由 Flask 的创建者 Armin Ronacher 维护,因此可以确保该模块不会消失。 该模块使用 OAuth,该协议提供令牌以访问资源。 其他模块可能没有很好的支持。
复制下面的代码,并设置您从上面的 Google 获得的**客户端 ID****客户端密钥**。 只需替换以下行:
......@@ -22,7 +22,7 @@ GOOGLE_CLIENT_SECRET = 'PUT CLIENT SECRET'
```
将程序另存为 app.py
将程序另存为`app.py`
```py
from flask import Flask, redirect, url_for, session
......
......@@ -12,7 +12,7 @@
## 代码
创建文件 _app.py_ ,并设置您从 Twitter 获得的 _Consumer_key_ 和 _Consumer_secret_
创建文件`app.py`,并设置您从 Twitter 获得的`consumer_key``consumer_secret`
```py
from flask import Flask, request, redirect, url_for, session, g, flash, \
......@@ -101,7 +101,7 @@ app.run()
```
使用文件 index.html 创建目录/ templates /
使用文件`index.html`创建目录`/templates/`
```py
{% block body %};
......@@ -119,7 +119,7 @@ Sign in with twitter.
```
最后,使用图像 sign-in.png 创建目录/ static /
最后,使用图像`sign-in.png`创建目录`/static/`
![sign-in](img/fd7b94854e84159bef1cf070eb492474.jpg)
......@@ -142,6 +142,6 @@ Flask OAuth Twitter
![twitter_oauth](img/bdac172cb293a59affa870d6d1998358.jpg)
twitter_oauth
Twitter OAuth
[下载 Flask 示例](https://pythonspot.com/download-flask-examples/)
\ No newline at end of file
......@@ -35,7 +35,7 @@ print rates
使用 [Google Charts API](https://developers.google.com/chart/interactive/docs/gallery),您可以在网站上显示实时数据。有很多很棒的图表可以轻松添加到 Flask 应用中。我们只需将通过 JSON 从服务器获取并解析的数据提供给 Google Charts API。
为目录创建带有目录/ templates /的 flask 应用程序。 这是 Flask 的主要代码:
为目录创建带有目录`/templates/`的 flask 应用程序。 这是 Flask 的主要代码:
```py
from flask import Flask, flash, redirect, render_template, request, session, abort
......
......@@ -18,7 +18,7 @@ Flask web 表单
Flask wtforms
您可以从 [http://getbootstrap.com/getting-started/#download](https://getbootstrap.com/getting-started/#download) 获取引导文件,并将其解压缩到新目录/ static /中。 代码几乎相同,但是模板已更改。 码:
您可以从 [http://getbootstrap.com/getting-started/#download](https://getbootstrap.com/getting-started/#download) 获取引导文件,并将其解压缩到新目录`/static/`中。 代码几乎相同,但是模板已更改。 代码:
```py
from flask import Flask, render_template, flash, request
......@@ -55,7 +55,7 @@ if __name__ == "__main__":
```
我们在模板 hello.html 中添加了引导程序
我们在模板`hello.html`中添加了 Bootstrap
```py
......@@ -158,7 +158,7 @@ if __name__ == "__main__":
```
使用以下代码更新模板 hello.html
使用以下代码更新模板`hello.html`
```py
......
......@@ -43,7 +43,7 @@ def render_static(page_name):
`/<string:page_name>/`
创建目录/ templates /并添加文件 hello.html
创建目录`/templates/`并添加文件`hello.html`
```py
......@@ -61,8 +61,8 @@ $ python app.py
```
然后,可以使用 URL 路由访问任何.html 文件。
然后,可以使用 URL 路由访问任何`.html`文件。
例如,可以使用 [http://127.0.0.1:5000/hello](http://127.0.0.1:5000/hello) 访问静态文件 hello.html。 您可以将任何 css 文件存储在/ static /目录中。
例如,可以使用 [http://127.0.0.1:5000/hello](http://127.0.0.1:5000/hello) 访问静态文件`hello.html`。 您可以将任何 css 文件存储在`/static/`目录中。
[下载 Flask 示例](https://pythonspot.com/download-flask-examples/)
\ No newline at end of file
......@@ -2,9 +2,9 @@
> 原文: [https://pythonspot.com/flask-boilerplate-with-bootstrap-sqlalchemy/](https://pythonspot.com/flask-boilerplate-with-bootstrap-sqlalchemy/)
在本文中,您将学习 cookiecutter,这是一个从项目模板创建项目的命令行实用程序。 使用 cookiecutter,您可以创建一个新的 python Flask 项目。 这类似于标准的 Flask 项目,除了使用此方法时,您将从几个完整的模板和功能列表开始。
在本文中,您将学习`cookiecutter`,这是一个从项目模板创建项目的命令行实用程序。 使用`cookiecutter`,您可以创建一个新的 python Flask 项目。 这类似于标准的 Flask 项目,除了使用此方法时,您将从几个完整的模板和功能列表开始。
功能
特性
* 具有入门模板的 Bootstrap 3 和 Font Awesome 4
* 具有基本用户模型的 Flask-SQLAlchemy
......@@ -33,7 +33,7 @@ sudo pip install flask_debugtoolbar
```
安装并克隆 cookieclutter
安装并克隆`cookieclutter`
```py
sudo pip install cookiecutter
......@@ -71,4 +71,4 @@ python manage.py runserver
![cookiecutter](img/bbadfcdfb92f4eda0d40720b8d0e771e.jpg)
cookiecutter 输出主题
\ No newline at end of file
`cookiecutter`输出主题
\ No newline at end of file
......@@ -145,7 +145,9 @@ Flask 条形图
输出:
[&lt;picture&gt;&lt;source srcset="/wp-content/uploads/2015/07/linechart.png.webp" type="image/webp"&gt; &lt;source srcset="/wp-content/uploads/2015/07/linechart.png" type="image/jpeg"&gt; ![Flask line-chart](img/d307bb30c80bcdc37eb773b73a87a095.jpg) &lt;/picture&gt;](/wp-content/uploads/2015/07/linechart.png) 烧瓶线形图
![Flask line-chart](img/d307bb30c80bcdc37eb773b73a87a095.jpg)
Flask 折线图
### 创建饼图
......
......@@ -22,7 +22,7 @@
```
json 模块使您可以在 JSON 和 Python 对象之间进行转换。
`json`模块使您可以在 JSON 和 Python 对象之间进行转换。
## JSON 转换示例
......@@ -93,7 +93,7 @@ except (ValueError, KeyError, TypeError):
## 将 Python 对象(字典)转换为 JSON
如果要将 Python 对象转换为 JSON,请使用 json.dumps()方法。
如果要将 Python 对象转换为 JSON,请使用`json.dumps()`方法。
```py
import json
......@@ -110,7 +110,7 @@ print json.dumps(d, ensure_ascii=False)
## 将 JSON 数据转换为 Python 对象
可以使用 **json.loads()**函数将 JSON 数据转换(反序列化)为 Pyhon 对象。 映射表:
可以使用`json.loads()`函数将 JSON 数据转换(反序列化)为 Pyhon 对象。 映射表:
| JSON 格式 | 蟒蛇 |
| --- | --- |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册