Flask에서 웹 서비스를 만들고 클라우드에 업로드 절차 문서 폴더

5842 단어 Flask

어려운 일은 좋다고 하는 분은 아래의 주소에 말해 봐 주세요.



쓰기도 할 수 있다고 생각합니다.

Flask에서 웹 서비스를 만들고 클라우드에 업로드



웹 서비스를 만들려고 생각했습니다. 또한 IBM 클라우드에 올랐습니다.

만드는 것



저와 같은 업무계의 인간에게 있어서 대체로 만들어야 하는 프로그램의 대부분은 게시판의 연장이라고는 생각합니다. 테트리스가 아니라고 생각합니다. 소위 게시판의 연장과 같습니다.
게시판이라면 아무래도 관심이 끌리지 않기 때문에 일행 채팅을 만들기로 했습니다.

목적



끝에서 끝까지 움직이는 첫 번째 깔끔한 것을 만들어 두고 싶기 때문.

이미지




【언어・FW 선정】
・HTML ← 최대한 간단하게 하고 싶었기 때문에. HTML에서만 CSS를 사용하지 않았습니다.
・Python←← 취급할 수 있는 언어가 Java나 Python이므로···Python에 장래성을 느끼고 있기 때문에.
・Flask ← 악을 하기 위해서 사용하는 프레임워크라는 컨셉에 있어서 있었기 때문에.
CGI도 시험해 보았습니다만 그다지 잘 작동하지 않고, 넷의 기사도 그다지 없다고 하는 것으로 그만두었습니다.
【아키텍처】
기본적으로 단순을 염두에 둔 데이터베이스의 사용도 없이, json에 기입해 클리어를 실시합니다. 클리어도
운용자 측이 한다고 했습니다.
【사용 방법】
움직여 보는, 만들기를 보는, CSS로 가공하는 연습 등 학습 목적

【2차 개발】
Chabot과 조합해 어떻게든 생각하고 있습니다. 너무 자세하게 쓰면 하지 않게 되므로・・・

【개발 환경】
・mi
・Atom
【인프라 등】
· IBM Cloud
IBM의 회장이 클라우드를 나누고 있던 사람이 되었기 때문에 앞으로 상당한 힘을 넣을 것으로 예상됩니다.
앞으로 좋은 것이 아닐까 생각된다. 또한 IBM 클라우드는 무료로 가능하므로 솔직하게
도움이 됩니다.
htps //w w. 산게이비… htm
← 파일을 설정하는 방법은 GITHUB의 주소를 참조하십시오.
#フォルダ モジュール構成
flask_app -- templates              index.html
             app.py
             onelineChat.json


 ソースコード
import json
import os

from flask import Flask, redirect, render_template, request

application = Flask(__name__)

DATA_FILE = "onelineChat.json"


def save_data(name, memo):
    """記録データを保存します
     :param name: お名前
     :type name: str

    :param memo: メモ
    :type memo: str
    :return: None
    """
    try:

        database = json.load(open(DATA_FILE, mode="r", encoding="utf-8"))
    except FileNotFoundError:
        database = []

    database.insert(0, {
        "name": name,
        "memo": memo
    })

    json.dump(database, open(DATA_FILE, mode="w", encoding="utf-8"), indent=4, ensure_ascii=False)


def load_data():
    """記録データを返します"""
    try:
        database = json.load(open(DATA_FILE, mode="r", encoding="utf-8"))
    except FileNotFoundError:
        database = []
    return database

@application.route('/', methods=['POST'])
def save():
    if request.method == 'POST':

        name = request.form.get('name')
        memo = request.form.get('memo')

        save_data(name , memo)

        return redirect('/')


@application.route('/')
def index():
    """トッフぺージテンプレートを使用してぺージを表示します"""

    rides = load_data()
    return render_template('index.html', rides=rides)

port = os.getenv('VCAP_APP_PORT', '5050')



if __name__ == '__main__':
    application.run(host='0.0.0.0', port=int(port), debug=True)

onelineChat.json
[
    {
        "name": "gina",
        "memo": "こんにちは"
    },
    {
        "name": "Code PaaS Bliss",
        "memo": "こんにちは"
    }
]

index.html
<!DOCTYPE html>
<html lang="ja">
<meta charset="utf-8">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>簡易掲示板</title>
</head>
<body>
<p>{{ message }}</p>
<form action="" method="post">
         <label for="name">お名前  </label><input id="name" type="text" name="name"><br>
         <label for="memo">メッセージ</label><input id="memo" type="text" name="memo">
       <br>
        <input type=submit value=投稿する>
</form>

<h3>OneLineチャット</h3>
    <table class="list">
        {% for ride in rides %}
    </table>
   <tr>

           <td>{{ride.name}} :</td>
           <td>{{ride.memo}}</td>
    </tr>
    <hr>
    {% endfor %}
</body>
</html>



GITHUB



IBM 클라우드에 올려 놓은 것



IBM 클라우드에 FLASK를 올리는 데 도움이 된 기사



htps : // 이 m / 마카시 2 / ms / 21cbbb99444fb50 01 1
htps : // 이 m/이시다 330/있어 ms/6에4에363923344후31b83

FLASK 입문



htp://py 쵸. 웬비 - 푹신 gc b. 코m/엔트리/2017/11/03/223503
← 나는 굉장한 포트 번호로 빠져 버렸기 때문에 잘 작동하지 않는 것 같습니다.
다른 기사에서 첫 번째 발목을 내 보거나 궁리해 보면 어떨까요?

감상



IBM에 올릴 때가 가장 곤란했습니다.
· python의 버전이 기본이라면 2이었기 때문에 문자 코드가 지정되어 있지 않으면 꽤 IBM 클라우드에 꾸짖습니다. 아무리 지정해도 효과가 없고, (runtime.txt)에 3의 버젼을 지정한 것으로 회피를 실시했습니다.
・IBM에 올릴 경우의 PORT 번호를 지정하는 작법으로 빠졌습니다. GITHUB의 소스를 참고하십시오. (app.py)
Docker상에서 확인하면 어떨까라고 하는 것도 생각하고 있습니다만 이번은 그다지 관계 없었던 것이 아닐까 생각합니다. IBM 클라우드에서 무슨 일이 일어나고 있는지 모르면 Docker에서 할 의미가 없을 수도 있습니다. 자신의 매킨토시로 하고 Docker 상의 리낙스로 확인한다는 것은 의미가 있을지도 모릅니다.
앞으로는 FLASK도 취급할 수 있고, Java Spring도 취급할 수 있는 IBM 클라우드로부터 다른 클라우드 서비스에 당면은 마이그레이션하고 싶습니다.

좋은 웹페이지 즐겨찾기