[PYTHON] Twitter-Posting-Client mit Flask mit einfacher Anmeldefunktion

Flasche lernen

Ich habe sowohl Flasche als auch Django berührt, also Flask. Wie gewohnt werden wir die Twitter-API wieder verwenden.

$ python3 -m venv flaskworks
$ ls flaskworks/
$ . flaskworks/bin/activate
(flaskworks)$ pip install flask
(flaskworks)$ pip install requests requests_oauthlib

Es ist sehr einfach, ein Verzeichnis wie eine Flasche zu erstellen.

(flaskworks)$ cd flaskworks
(flaskworks)$ mkdir static
(flaskworks)$ mkdir templates

Erstellen Sie eine Vorlage

Erstellen Sie zwei, da die Vorlagenvererbung verwendet wird.

base.html


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="/static/css/style.css">
    <link rel="stylesheet" href="/static/css/bootstrap.min.css">
    <title>Tweet</title>
</head>
<body>
  <div class="container">
    <div class="row">
      <form method="post" action="/send">
        <input type="text" id="msg" name="msg">
        <input type="submit" value="Send Form">
      </fomr>
        {% block content %}
        {% endblock %}
    </div>
  </div>
</body>
</html>

index.html


{% extends "base.html" %}
{% block content %}
  {% if msg %}
  <p>「{{msg}}Ich habe gepostet</p>
  {% endif %}
{% endblock %}

Schreiben Sie einen Antrag auf Veröffentlichung

Vorerst habe ich beschlossen, eine einfache Login-Funktion hinzuzufügen. Die Realität ist fast die gleiche wie bei einer Flasche, nicht wahr?

tweet.py


import os
from requests_oauthlib import OAuth1Session
import requests
from flask import Flask, render_template, request, redirect, url_for, session
app = Flask(__name__)

app.config['SECRET_KEY'] = os.urandom(24)

C_KEY = '+++++++++++++++++++++++++++++'
C_SECRET = '+++++++++++++++++++++++++++++'
A_KEY = '+++++++++++++++++++++++++++++'
A_SECRET = '+++++++++++++++++++++++++++++'

Post_API = 'https://api.twitter.com/1.1/statuses/update.json'
tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)

@app.route('/')
def index():
    if 'username' in session:
        return render_template('index.html')
    return '''
        <p>Bitte loggen Sie sich ein</p>
    '''

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        if username == 'admin':
            session['username'] = request.form['username']
            return redirect(url_for('index'))
        else:
            return '''<p>Der Benutzername ist unterschiedlich</p>'''
    return '''
        <form action="" method="post">
            <p><input type="text" name="username">
            <p><input type="submit" value="Login">
        </form>
    '''

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('index'))

@app.route('/send', methods=['GET', 'POST'])
def send():
    if request.method == 'POST':
        msg = request.form['msg']
        url = Post_API
        params = {'status': msg,'lang': 'ja'}
        req = tw.post(url, params = params)

        return render_template('index.html', msg=msg)

if __name__ == '__main__':
    app.debug = True
    app.run()

Funktionsprüfung

(flaskworks)$ python tweet.py
スクリーンショット 2017-05-18 10.47.35.png

Das ist es.

Es ist ein dünnes Buch, aber es ist zusammengefasst https://www.amazon.co.jp/dp/B0714D1VGP

Recommended Posts

Twitter-Posting-Client mit Flask mit einfacher Anmeldefunktion
Twitter-Posting-Anwendung mit Django gemacht
Twitter-Such-Client mit Flasche gemacht
Ihr eigener Twitter-Client mit Django
Einfacher Slack API-Client mit Python
Crawlen mit Python und Twitter API 1-Einfache Suchfunktion
Implementieren Sie die Anmeldefunktion mit django-allauth
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
[LINE-Anmeldung] Überprüfen Sie den Status mit Flask
Mit Flask erstellte SNS Python-Grundlagen
Bild-Upload-Funktion mit Vue.js + Flask
Mit einem Browser ausführen. Twitter-Client mit Flasche gemacht (nur POST
Einfacher RSS-Reader mit Django
Ich habe mit Python einen einfachen Blackjack gemacht
Erstellen Sie mit Flask einen einfachen Punktbildgenerator
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
Ich habe eine einfache Brieftasche aus Bitcoin mit Pycoin gemacht