コード例 #1
0
def add_entry():  # 記事を新しく追加
    entry = Entry(id=int(datetime.now().timestamp()),
                  title=request.form['title'],
                  text=request.form['text'])
    entry.save()
    flash('新しく記事が作成されました')
    return redirect(url_for('show_entries'))
コード例 #2
0
ファイル: entries.py プロジェクト: yuyatabata/serverless-blog
def add_entry():
    #新規モデル(レコード)をデータベースに登録
    entry = Entry(
        id=int(datetime.now().timestamp()),
        title=request.form['title'],  #属性=カラム
        text=request.form['text'])
    entry.save()
    flash('新しく記事が作成されました')
    return redirect(url_for('show_entries'))  #登録後はリダイレクト
コード例 #3
0
ファイル: entries.py プロジェクト: osCj35BqWr/flaskTest
def show_entries():
    # 全件検索
    # entries = Entry.scan()
    # 条件指定(キーを指定せずに検索)
    # entries = Entry.scan(Entry.MeasureDateTime.contains('20201123'))

    # 1日前の時間表記(yyyyMMddhhmmss)を取得する
    yesterday = (datetime.now(timezone(timedelta(hours=+9), 'JST')) -
                 timedelta(days=1)).strftime('%Y%m%d%H%M%S')

    # 1日前までのデータをDynamoDBより取得する
    entries = Entry.scan(Entry.MeasureDateTime >= yesterday)
    # 条件指定(キーを指定してから検索)
    # entries = Entry.query("aaa", Entry.MeasureDateTime.contains('20201123'))
    entries = sorted(entries, key=lambda x: x.MeasureDateTime)
    #entries = sorted(entries, key=lambda x: x.MeasureDateTime, reverse=True)

    for entry in entries:
        try:
            entry.MeasureDateTimeStr = parse(
                entry.MeasureDateTime).strftime('%m/%d %H:%M')
        except:
            entry.MeasureDateTimeStr = "時間不明"

    return render_template('index.html', entries=entries)
コード例 #4
0
def update_entry(id):  # 記事の更新
    entry = Entry.get(id)
    entry.title = request.form['title']
    entry.text = request.form['text']
    entry.save()
    flash('記事が更新されました')
    return redirect(url_for('show_entries'))
コード例 #5
0
ファイル: entries.py プロジェクト: inamuu/sample_flask_app
def add_entry():
    entry = Entry(title=request.form['title'], text=request.form['text'])

    db.session.add(entry)
    db.session.commit()
    flash('新しい記事が投稿されました')
    return redirect(url_for('entry.show_entries'))
コード例 #6
0
ファイル: entries.py プロジェクト: yuyatabata/serverless-blog
def update_entry(id):
    entry = Entry.get(id)  #記事を取得
    entry.title = request.form['title']  #属性を指定して直接代入して値を更新
    entry.text = request.form['text']
    entry.save()
    flash('記事が更新されました')
    return redirect(url_for('show_entries'))
コード例 #7
0
def add_entry():
    # request.formでフォームのデータを受け取れる nameを指定する
    req = json.loads(request.get_data())
    entry = Entry(title=req.get("title"), text=req.get("text"))
    db.session.add(entry)  # addしてcommitすることでデータベースに変更を行える
    db.session.commit()
    return Response(status=201)
コード例 #8
0
ファイル: entries.py プロジェクト: shuwants/blg
def add_entry():
    entry = Entry(
        title=request.form['title'],
        text=request.form['text'])  # 送られてきた記事タイトル都内容についてのモデルインスタンスを作成。
    db.session.add(entry)  # 作成されたモデルインスタンスに対して、これらの処理を行う事で新しい記事内容をデータベースに保存。
    db.session.commit()
    flash('新しく記事が作成されました')
    return redirect(url_for('entry.show_entries'))
コード例 #9
0
def add_entry():
    if not session.get('logged_in'):
        return redirect(url_for('login'))
    entry = Entry(title=request.form['title'], text=request.form['text'])
    db.session.add(entry)
    db.session.commit()
    flash('新しい記事が作成されました')
    return redirect(url_for('show_entries'))
コード例 #10
0
ファイル: entries.py プロジェクト: kawaken666/Practice_Flask
def add_entry():
    # Entryモデルインスタンスを作成してINSERT対象カラムにリクエストで受け取った値を代入する
    entry = Entry(title=request.form['title'], text=request.form['text'])
    # DBにINSERTする
    db.session.add(entry)
    db.session.commit()
    flash('新しく記事が作成されました')
    return redirect(url_for('entry.show_entries'))
コード例 #11
0
def add_entry():
    if not session.get('logged_in'):
        return redirect(url_for('login'))
    entry = Entry(title=request.form['title'], text=request.form['text'])
    db.session.add(entry)
    db.session.commit()
    flash('A new article has been created.')
    return redirect(url_for('show_entries'))
コード例 #12
0
def add_entry():
    entry = Entry(
        title=request.form['title'],
        text=request.form['text']
    )
    db.session.add(entry)
    db.session.commit()
    flash('A new article has been created.')
    return redirect(url_for('entry.show_entries'))
コード例 #13
0
ファイル: entries.py プロジェクト: popotarosan/flask-training
def add_entry():
    # if not session.get('logged_in'):
    #     return redirect(url_for('login'))
    # entriesモデルのインスタンスをformからの値を元に生成
    entry = Entry(title=request.form['title'], text=request.form['text'])
    db.session.add(entry)
    db.session.commit()
    flash('新しく記事が作成されました')
    return redirect(url_for('entry.show_entries'))
コード例 #14
0
 def test_entry_repr(self):
     entry = Entry(
         title='おもち',
         text='おもちもちお'
     )
     db.session.add(entry)
     db.session.commit()
 
     assert '<Entry id:1 title:おもち text: おもちもちお>' in str(entry)
コード例 #15
0
def add_entry():
    if not session.get('logged_in'):
        return redirect(url_for('login'))
    entry = Entry(
            users_id=session['users_id'],
            title = request.form['title'],
            auther = request.form['auther'],
            publisher = request.form['publisher'],
            )
    db.session.add(entry)
    db.session.commit()
    flash('書籍が追加されました')
    return redirect(url_for('show_entries'))
コード例 #16
0
ファイル: entries.py プロジェクト: osCj35BqWr/flaskTest
def get_img_from_s3(func):

    print(func)
    s3 = boto3.client('s3')
    bucket_name = os.environ['bucket_name']
    file_path = Entry.get(str(func))
    if file_path is None:
        return

    response = s3.get_object(Bucket=bucket_name, Key=file_path.fileName)
    body = response['Body'].read()
    img = base64.b64encode(body)

    return img
コード例 #17
0
def add_entry():
    global idx
    entry=Entry(
        title=request.form['title'],
        text=request.form['text'],
        body='未提出',
        stat='',
        cnt=0
    )
    db.session.add(entry)
    db.session.commit()
    idx+=1
    flash('新しい問題が追加された.')
    return redirect(url_for('show_entries'))
コード例 #18
0
def show_entry(id):  # 記事の詳細を表示
    entry = Entry.get(id)
    return render_template('entries/show.html', entry=entry)
コード例 #19
0
 def run(self):
     if not Entry.exists():
         Entry.create_table(read_capacity_units=5, write_capacity_units=2)
     if not Session.exists():
         Session.create_table(read_capacity_units=5, write_capacity_units=2)
コード例 #20
0
def show_entry(id):
	entry = Entry.gert(id)
コード例 #21
0
def show_entries():  # 記事の一覧を表示
    entries = Entry.scan()  # 全ての記事を取得
    entries = sorted(entries, key=lambda x: x.id, reverse=True)
    return render_template('entries/index.html', entries=entries)
コード例 #22
0
def delete_entry(id):  # 記事の削除
    entry = Entry.get(id)
    entry.delete()
    flash('投稿が削除されました')
    return redirect(url_for('show_entries'))
コード例 #23
0
ファイル: entries.py プロジェクト: yuyatabata/serverless-blog
def show_entries():
    entries = Entry.scan()  #PynamoDBのメソッド。すべての記事を取得
    entries = sorted(entries, key=lambda x: x.id,
                     reverse=True)  #timestamp順に記事をソート。
    return render_template('entries/index.html', entries=entries)
コード例 #24
0
 def run(self):
     if not Entry.exists():  # テーブルが存在しているかどうかを判定する
         Entry.create_table(read_capacity_units=5, write_capacity_units=2)
コード例 #25
0
ファイル: entries.py プロジェクト: yuyatabata/serverless-blog
def edit_entry(id):
    entry = Entry.get(id)
    return render_template('entries/edit.html', entry=entry)
コード例 #26
0
ファイル: entries.py プロジェクト: osCj35BqWr/flaskTest
def graph1():
    # 【AWS IAM関連情報】
    #  IAMユーザーに割り当てたポリシー
    #   AmazonDynamoDBFullAccess
    #   AWSLambdaDynamoDBExecutionRole
    #  profile名
    #   環境編巣にAWS_DEFAULT_PROFILE, AWS_PROFILEとして定義した。
    dynamodb = boto3.resource("dynamodb")

    # TODO 2回DBにアクセスする理由はないので後で修正する
    # 1日前の時間表記(yyyyMMddhhmmss)を取得する
    yesterday = (datetime.now(timezone(timedelta(hours=+9), 'JST')) -
                 timedelta(days=1)).strftime('%Y%m%d%H%M%S')

    # 1日前までのデータをDynamoDBより取得する
    entries = Entry.scan(Entry.MeasureDateTime >= yesterday)
    entries = sorted(entries, key=lambda x: x.MeasureDateTime)

    df = pd.DataFrame(columns=["人数"])
    for entry in entries:
        df.loc[entry.MeasureDateTime] = entry.value

    #table = dynamodb.Table(os.environ['table_name'])
    #response = table.scan()

    #df = pd.json_normalize(response["Items"])

    # YYYYMMDDHHMMSS形式を日付として認識させる
    df.index = pd.to_datetime(df.index)
    #df.MeasureDateTime = pd.to_datetime(df.MeasureDateTime)

    # data["value"]はDecimalで入っているが。
    # Decimalは直接表示できないので、floatに変換
    df = df.astype({"人数": float})
    #df = df.astype({"value": float})

    # 日付でソートする。戻り値を受け取らないとソートされないので注意
    #df = df.sort_values(by='MeasureDateTime')

    fig, ax = plt.subplots()

    # x軸の目盛りは1時間ごとにする(set_major_locatorで目盛りを打つ場所を決める)
    ax.xaxis.set_major_locator(mdates.HourLocator(interval=4))
    # x軸の目盛りの表示形式を設定する(set_major_formatterで目盛りに書く内容を決める)
    ax.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d\n%H:%M'))
    # 補助目盛線を付加する
    ax.xaxis.set_minor_locator(mdates.HourLocator())

    plt.plot(df.index, df["人数"])
    #plt.plot(df.MeasureDateTime, df.value)
    # ax.plot(df.MeasureDateTime, df.value)というのもある

    plt.title('時間と人数の推移')
    # plt.xlabel('X軸ラベル')
    # plt.ylabel('人数')
    plt.ylabel("人数", rotation=0, labelpad=20)
    # 縦書きにする場合
    # ax.set_ylabel("人\n数", rotation=0, va='center')

    plt.grid()
    # 補助目盛は点線にする
    plt.grid(True, which="minor", linestyle="--")
    # 主目盛は実線
    # plt.grid(True, which="major", linestyle="-")

    canvas = FigureCanvasAgg(fig)
    png_output = BytesIO()
    canvas.print_png(png_output)
    data = png_output.getvalue()

    response = make_response(data)
    response.headers['Content-Type'] = 'image/png'
    response.headers['Content-Length'] = len(data)
    return response
コード例 #27
0
def edit_entry(id):  # 記事の編集(フォームを表示)
    entry = Entry.get(id)
    return render_template('entries/edit.html', entry=entry)
コード例 #28
0
def add_entry():
    entry = Entry(title=request.form['title'], text=request.form['text'])
    db.session.add(entry)
    db.session.commit()
    flash('Update Succeeded')
    return redirect(url_for('show_entries'))
コード例 #29
0
ファイル: entries.py プロジェクト: ore89/Flask_test
def add_entry():
    entry = Entry(title=request.form["title"], text=request.form["text"])
    db.session.add(entry)
    db.session.commit()
    flash("新しく記事が作成されました")
    return redirect(url_for("show_entries"))
コード例 #30
0
ファイル: entries.py プロジェクト: yuyatabata/serverless-blog
def delete_entry(id):
    entry = Entry.get(id)
    entry.delete()  #データを削除
    flash('記事が更新されました')
    return redirect(url_for('show_entries'))