Python 3+Flashkインストール使用教程詳細
一、Flaask設置環境構成
現在の開発環境はMinionda 3+PyCharmです。開発環境はどうでもいいです。自分でPython 3+Nodepadを使ってもいいです。Flaskライブラリのインストール:
以下をハローワーク.pyとして保存します。
三、getとpost実現
3.1使用するテンプレートファイルを作成する
Flashkはデフォルトでtemplatesディレクトリの下にテンプレートファイルを検索し、上のhellowworld.py同級ディレクトリの下でtemplatesフォルダを作成します。
templatesフォルダの下でget.を作成し、以下の内容を書き込みます。
ハロルド.pyにget_を追加します。html()、post_htmlとdeal_request()の3つの方法については、コメントを参照してください。現在のハローワールド.pyの内容は以下の通りです。
hellowworld.pyを再実行します。
現在のディレクトリ構造は以下の通りです。
get.は以下の通りである
getクエリの結果は以下の通りです。
posts.
ポストクエリの結果は以下の通りです。
四、レストful
レジスタントfulとは、jsonなどの形式で要求を行い、以前のものではなくjsonなどの形式で応答することである。
その後、我々はcurlシミュレーションにより、rest要求を行い、jsonityを使って、rest応答を実現します。
4.1サービスエンド実現コード
五、FlashkとDjangoの比較
5.1 Django配置が複雑である
Djangoについてよく知らないなら、参加してみてもいいです。
Python 3+PyCharm+Django+Django REST frame ebook開発教程詳細解
Python 3+Django get/post要求実現教程詳細
文章の長さだけから見れば、この文章よりずっと長いので、DjangoはFlashkより複雑であることは間違いない。より具体的な比較は以下の通りです。
比較項目
Django
Flashk
複雑度の比較
説明
プロジェクトの作成
Djangoはコマンドでプロジェクトを作成する必要があります。
Flashkはファイルを直接作成すれば実行できます。
Djangoは複雑です
Django命令でプロジェクトを作成する必要があるのは、プロジェクト全体のフレームを作成するためです。
ルート
Djangoは専門のurls.pyファイルを使います。
Flashk直接使用@ap.route()
Djangoは重いです
DjangoはStrut 2のような構成FlashkはSpringのような構成で、Flashkはより良い感じがします。
getとpost
request.GET['name']とrequest.POST["name"]
request.args.get(「name」「」)とrequest.form[q]
ほとんど同じです
Flashkフォーマットが統一されていません。
レスファル
django-refulフレームを使う
Jsonityを使う
ほとんど同じです
Flashkは単独でappを作る必要がなくて、もっと直観的です。
データベース操作
djangoデータベースの操作を統合しました。
Flaskはデータベースに統合されていません。別の操作は直接接続またはsqlalchemyを使います。
ほとんど同じです
djangoの複雑さは、データベースの統合に大きく起因しています。
5.2 FlashkとDjangoはそれぞれ場面を使うのに適しています。
DjangoはPythonの最も人気のあるウェブフレームですが、配置が複雑です。Flashkはライト級のフレーム構成が簡単です。もしプロジェクトが小さいなら、Flashkを使うことを勧めます。
さらに、Flashkの軽量化源は、「当分使わない機能は処理しない」というもので、Djangoは複雑にその「使用可能な機能は先に集積する」から来ています。プロジェクト規模の拡大に伴い最終的にDjangoにあるものもFlashkに必要です。
だから、もし普段はpythonを使って、東は倉庫を使って、東は一つのシーンを書いて、ウェブを専門に開発するのではなくて、Flashkを使うのに適しています。そうすると、勉強のコストが低くて、以前の知識も全部使えます。
本論文では、Python 3+Flashkのインストールについての教程を説明します。もしPython 3+Flashkについての知識をもっと調べたいなら、次の関連記事をクリックしてください。
現在の開発環境はMinionda 3+PyCharmです。開発環境はどうでもいいです。自分でPython 3+Nodepadを使ってもいいです。Flaskライブラリのインストール:
pip install Flask
二、最初のFlashkアプリケーション以下をハローワーク.pyとして保存します。
# Flask
from flask import Flask
# ,
app = Flask(__name__)
# route() ; spring
@app.route('/helloworld')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
# app.run(host, port, debug, options)
# :host="127.0.0.1", port=5000, debug=False
app.run(host="0.0.0.0", port=5000)
このファイルを直接実行してからアクセスします。http://127.0.0.1:5000/helloworld。結果は下図のようです三、getとpost実現
3.1使用するテンプレートファイルを作成する
Flashkはデフォルトでtemplatesディレクトリの下にテンプレートファイルを検索し、上のhellowworld.py同級ディレクトリの下でtemplatesフォルダを作成します。
templatesフォルダの下でget.を作成し、以下の内容を書き込みます。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>get </title>
</head>
<body>
<form action="/deal_request" method="get">
<input type="text" name="q" />
<input type="submit" value=" " />
</form>
</body>
</html>
さらにtemplatesフォルダの下でpostsを作成し、以下の内容を書き込みます。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>post </title>
</head>
<body>
<form action="/deal_request" method="post">
<input type="text" name="q" />
<input type="submit" value=" " />
</form>
</body>
</html>
最後にtemplatesフォルダの下でresult.1を作成し、以下の内容を書き込みます。
<!-- Flask Jinja2 ,Jinja2 Django Django -->
<h1>{{ result }}</h1>
3.2作成に関する処理方法ハロルド.pyにget_を追加します。html()、post_htmlとdeal_request()の3つの方法については、コメントを参照してください。現在のハローワールド.pyの内容は以下の通りです。
# Flask
from flask import Flask
from flask import render_template
from flask import request
# ,
app = Flask(__name__)
# route() ; spring
# :app.add_url_rule('/', 'helloworld', hello_world)
@app.route('/helloworld')
def hello_world():
return 'Hello, World!'
# , get.html get_html()
@app.route('/get.html')
def get_html():
# render_template() templates get.html
return render_template('get.html')
# , post.html post_html()
@app.route('/post.html')
def post_html():
# render_template() templates post.html
return render_template('post.html')
# , deal_request deal_request()
# get , methods post
# methods = ['POST'] post , if
@app.route('/deal_request', methods = ['GET', 'POST'])
def deal_request():
if request.method == "GET":
# get request.args.get("param_name","")
get_q = request.args.get("q","")
return render_template("result.html", result=get_q)
elif request.method == "POST":
# post request.form["param_name"]
post_q = request.form["q"]
return render_template("result.html", result=post_q)
if __name__ == '__main__':
# app.run(host, port, debug, options)
# :host=127.0.0.1, port=5000, debug=false
app.run()
3.3運転効果を確認するhellowworld.pyを再実行します。
現在のディレクトリ構造は以下の通りです。
get.は以下の通りである
getクエリの結果は以下の通りです。
posts.
ポストクエリの結果は以下の通りです。
四、レストful
レジスタントfulとは、jsonなどの形式で要求を行い、以前のものではなくjsonなどの形式で応答することである。
その後、我々はcurlシミュレーションにより、rest要求を行い、jsonityを使って、rest応答を実現します。
4.1サービスエンド実現コード
# Flask
from flask import Flask, jsonify
from flask import render_template
from flask import request
# ,
app = Flask(__name__)
# route() ; spring
# :app.add_url_rule('/', 'helloworld', hello_world)
@app.route('/helloworld')
def hello_world():
return 'Hello, World!'
# , get.html get_html()
@app.route('/get.html')
def get_html():
# render_template() templates get.html
return render_template('get.html')
# , post.html post_html()
@app.route('/post.html')
def post_html():
# render_template() templates post.html
return render_template('post.html')
# , deal_request deal_request()
# get , methods post
# methods = ['POST'] post , if
@app.route('/deal_request', methods=['GET', 'POST'])
def deal_request():
if request.method == "GET":
# get request.args.get("param_name","")
get_q = request.args.get("q","")
return render_template("result.html", result=get_q)
elif request.method == "POST":
# post request.form["param_name"]
post_q = request.form["q"]
return render_template("result.html", result=post_q)
@app.route('/rest_test',methods=['POST'])
def hello_world1():
"""
request.json post
jsonify json
"""
post_param = request.json
result_dict = {
"result_code": 2000,
"post_param": post_param
}
return jsonify(result_dict)
if __name__ == '__main__':
# app.run(host, port, debug, options)
# :host=127.0.0.1, port=5000, debug=false
app.run()
4.2要求シミュレーション
curl -H "Content-Type:application/json" -X POST --data '{"username": "ls","password":"toor"}' http://127.0.0.1:5000/rest_test
4.3効果スクリーンショット五、FlashkとDjangoの比較
5.1 Django配置が複雑である
Djangoについてよく知らないなら、参加してみてもいいです。
Python 3+PyCharm+Django+Django REST frame ebook開発教程詳細解
Python 3+Django get/post要求実現教程詳細
文章の長さだけから見れば、この文章よりずっと長いので、DjangoはFlashkより複雑であることは間違いない。より具体的な比較は以下の通りです。
比較項目
Django
Flashk
複雑度の比較
説明
プロジェクトの作成
Djangoはコマンドでプロジェクトを作成する必要があります。
Flashkはファイルを直接作成すれば実行できます。
Djangoは複雑です
Django命令でプロジェクトを作成する必要があるのは、プロジェクト全体のフレームを作成するためです。
ルート
Djangoは専門のurls.pyファイルを使います。
Flashk直接使用@ap.route()
Djangoは重いです
DjangoはStrut 2のような構成FlashkはSpringのような構成で、Flashkはより良い感じがします。
getとpost
request.GET['name']とrequest.POST["name"]
request.args.get(「name」「」)とrequest.form[q]
ほとんど同じです
Flashkフォーマットが統一されていません。
レスファル
django-refulフレームを使う
Jsonityを使う
ほとんど同じです
Flashkは単独でappを作る必要がなくて、もっと直観的です。
データベース操作
djangoデータベースの操作を統合しました。
Flaskはデータベースに統合されていません。別の操作は直接接続またはsqlalchemyを使います。
ほとんど同じです
djangoの複雑さは、データベースの統合に大きく起因しています。
5.2 FlashkとDjangoはそれぞれ場面を使うのに適しています。
DjangoはPythonの最も人気のあるウェブフレームですが、配置が複雑です。Flashkはライト級のフレーム構成が簡単です。もしプロジェクトが小さいなら、Flashkを使うことを勧めます。
さらに、Flashkの軽量化源は、「当分使わない機能は処理しない」というもので、Djangoは複雑にその「使用可能な機能は先に集積する」から来ています。プロジェクト規模の拡大に伴い最終的にDjangoにあるものもFlashkに必要です。
だから、もし普段はpythonを使って、東は倉庫を使って、東は一つのシーンを書いて、ウェブを専門に開発するのではなくて、Flashkを使うのに適しています。そうすると、勉強のコストが低くて、以前の知識も全部使えます。
本論文では、Python 3+Flashkのインストールについての教程を説明します。もしPython 3+Flashkについての知識をもっと調べたいなら、次の関連記事をクリックしてください。