[PYTHON] Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 1 erstellen

Einführung

Hallo, ich heiße Nioh. Ich arbeite derzeit bei einem kleinen und mittleren Unternehmen. Um das Problem zu lösen, nicht zu wissen, was und wo gefragt werden soll, habe ich beschlossen, ein Telefonbuch als WEB-Anwendung zu erstellen, damit es problemlos geteilt werden kann.

** "Warum verwenden Sie nicht Google Spreadsheet?" **

Mir wurde sofort gesagt. Das ist richtig. Ich implementiere es immer noch, weil ich wissen wollte, wie man mit Modulen wie Flask umgeht.

notwendige Funktion

  1. Grundlegende Authentifizierung → Ich möchte mindestens implementieren --Suchfunktion

Ich fragte mich, ob die oben genannten Funktionen notwendig waren.

Um ehrlich zu sein, war es jedoch unvermeidlich, dass ich über die Basiszertifizierung stolperte, daher werde ich zuerst Teile entsprechend dem Verwendungsfluss herstellen.

  1. Melden Sie sich an
  2. Angezeigt
  3. Suchen
  4. Registrieren

Plattform

Ich wollte es mit Python machen, also werde ich es mit Flask machen.

Flask ist ein WEB-Anwendungsframework, und es scheint, dass dieses oder Django verwendet wird, um WEB-Anwendungen mit Python zu erstellen.

Benutzer ⇔ Telefonbuch-DB

Als Vermittler

Benutzer ⇔ Homepage ⇔ Python (Flasche) ⇔ Telefonbuch DB

Das funktioniert so.

Ich dachte, es wäre einfach, die Installation usw. zu verstehen, wenn ich hier anschaue.

helloworld.py



from flask import Flask
app = Flask(__name__) #Initialisieren

@app.route(/) 
#Routing (zB http://www.name.com/Anwendung zum Ausführen
# http://www.name.com/Wenn Sie selbst ausführen möchten, klicken Sie hier
# @app.route(/self)Ändern

def hello_world():
   return "Hello World!"

if __name__ == "__main__":
   app.run()

Wenn Sie dies im Terminal tun, ist es OK

1. Über die Anmeldung

Lesen Sie zunächst Grundlegende Authentifizierung mit Flasche.

pip install Flask-HTTPAuth

Das Link-Ziel ist alles in Kleinbuchstaben, aber es scheint, dass auch Großbuchstaben gemischt sind.

Überraschend? Einfach zu

Die Quelle sieht so aus

Basic_auth.py



from flask import Flask
from flask_httpauth import HTTPBasicAuth

app = Flask(__name__)
auth = HTTPBasicAuth() #Erstellen eines Auth-Objekts

users = {
    "john": "hello",
    "susan": "bye"
}

@auth.get_password #Schmücken
def get_pw(username):
    if username in users:
        return users.get(username)
    return None

@app.route('/')
@auth.login_required #
def index():
    return "Hello, %s!" % auth.username()

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

Ich werde dies mit einer geringfügigen Änderung verwenden.

2. Anzeige

Implementieren Sie DB⇔Browser.

Zunächst zu Jinja2 Jinja2 ist eine Template-Engine, die von Flask verwendet wird. Schreiben Sie in HTML, Erstellen Sie einen "Vorlagen" -Ordner im APP-Ordner und fügen Sie den mit Jinja2 geschriebenen HTML-Code ein.

---app.py ------ | --templates Ordner ------|--templates.html

Es fühlt sich an, als würde ich es vorbereiten und mit templates.html spielen.

Um ehrlich zu sein, erinnern wir uns einfach an {% für ~~%} ~~ {% endfor%}. Der Rest wird beim Verschachteln verwendet.

Als nächstes über DB Verwenden Sie das Modul von sqlite3. Dazu habe ich auf [python-izm] verwiesen (http://www.python-izm.com/contents/external/sqlite.shtml). Informationen zur Verwendung von SQLITE finden Sie unter DBonline.

Nachdem ich eine Tabelle mit dem SQLITE-Browser erstellt hatte, dachte ich, dass ich zunächst nicht lernen musste, wie man Sqlite verwendet, außer ** SELECT und INSERT UPDATE. ** **.

Ich denke, ich werde es in der Lage sein, es angemessen zu verwenden.

Für das sqlite3-Modul wird nur die Syntax gelernt.

sample.py



import sqlite3

conn = sqlite3.connect("[DB Name und Pfad]")
cursor = conn.cursor()

cursor.execute("[SQL-Syntax]")

conn.commit() #Wenn Sie die select-Anweisung damit speichern, ist dies in Ordnung, da es sich nur um eine Referenz handelt
cursor.close()
conn.close()

Dies ist ein Satz. [Tipps] Wenn Sie beispielsweise eine Variable in die SQL-Syntax einfügen, wird die Variable mit ["Auswählen? Aus Tabellen" (Taple)] zugewiesen. Wenn nur eine Variable vorhanden ist, schlägt dies fehl, wenn Sie kein Taple im Format (Variable **, **) erstellen, auch wenn nur eine vorhanden ist.

Ich habe es so gemacht.

app.py


#-*- coding:utf-8 -*-
#! usr/env/python

from flask import Flask,render_template
import csv
import sqlite3
from flask_httpauth import HTTPBasicAuth

app=Flask(__name__)
auth = HTTPBasicAuth()

users = {"john":"hello","susan":"bye"}

@auth.get_password
def get_pw(username):
    if username in users:
        return users.get(username)
    return None

@app.route("/")

def hello():
    return ("hello world")

@app.route("/index")
@auth.login_required

def index():
    conn = sqlite3.connect("sampledb.db")
    cursor = conn.cursor()

    cursor.execute("select * from contacts ")
    contacts_data = cursor.fetchall() #In Liste herausnehmen

    cursor.close()
    conn.close()
    return render_template("index.html",contacts = contacts_data)

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

index.html


<!DOCTYPE html>

<html lang="en">
  <head>
      <meta charset = "utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
  </head>
  <body>
    <div class="container">
      <div class="header">
        <h3 class="text-muted">Telefonbuch</h3>
        <div class = "table-responsive">
        <table class = "table table-bordered table-hover">
          <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Number</th>
            <th>Comment</th>
          </tr>
          {% for num in contacts %}
          <tr>
            {% for name in num %}
              <td>{{name}}</td>
            {% endfor %}
          </tr>
          {% endfor %}
        </table>
      </div>
      </div>
    </div>
  </body>
</html>

Sie haben jetzt die Basisauthentifizierung und den Anzeigeteil implementiert. Klicken Sie hier für mehr ↓

Versuchen Sie, eine WEB-Anwendung für ein Telefonbuch mit Flasche Teil 2 zu erstellen

Was ich dachte

Eigentlich weiß ich nicht viel über Sicherheit, also bringen Sie mir dies bitte auf leicht verständliche Weise bei.

Recommended Posts

Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 1 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 2 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 3 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 4 erstellen
Lassen Sie uns mit Flask eine Webanwendung zur Konvertierung von A nach B erstellen! Von Grund auf neu ...
Erstellen Sie ein Webframework mit Python! (1)
Erstellen Sie ein Webframework mit Python! (2)
[GCP] Verfahren zum Erstellen einer Webanwendung mit Cloud-Funktionen (Python + Flask)
Machen wir eine nervenschwächende App mit Vue.js und Django-Rest-Framework [Teil 3] ~ Implementierung von Nervenschwäche ~
Entwicklung von Webanwendungen mit Flask
[Lass uns mit Python spielen] Ein Haushaltsbuch erstellen
Machen wir eine nervenschwächende Anwendung mit Vue.js und Django-Rest-Framework [Teil 6] ~ Benutzerauthentifizierung 2 ~
Lassen Sie uns mit Vue.js und Django-Rest-Framework [Teil 5] ~ Benutzerauthentifizierung ~ eine nervenschwächende Anwendung erstellen
Webanwendung mit Python + Flask ② ③
Webanwendung mit Python + Flask ④
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Erstellen einer Webanwendung mit Flask ②
Lassen Sie uns eine GUI mit Python erstellen.
Machen wir einen Blockbruch mit wxPython
Erstellen Sie eine Webanwendung mit Django
Erstellen einer Webanwendung mit Flask ①
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Machen wir mit xCAT einen Spacon
Erstellen einer Webanwendung mit Flask ③
Erstellen einer Webanwendung mit Flask ④
Erstellen Sie mit Chalice eine flaschen- / flaschenähnliche Webanwendung auf AWS Lambda
Lassen Sie uns einen Web-Chat mit WebSocket mit AWS serverless (Python) durchführen!
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Machen Sie einen seltenen Gacha-Simulator mit Flask
Lassen Sie uns mit Python langsam sprechen
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
[Python] Eine schnelle Webanwendung mit Bottle!
Erstellen Sie eine einfache Web-App mit Flasche
Führen Sie eine Python-Webanwendung mit Docker aus
Erstellen Sie einen Webdienst mit Docker + Flask
Machen wir mit Pylearn 2 eine dreiäugige KI
Machen wir einen Twitter-Bot mit Python!
Lassen Sie uns ein Backend-Plug-In für Errbot erstellen
Ich habe eine WEB-Bewerbung bei Django gemacht
[Streamlit] Ich hasse JavaScript, deshalb erstelle ich eine Webanwendung nur mit Python
Flask + PyPy Mit Blueprint habe ich einen Geschwindigkeits-Benchmark für das große Web erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Erstellen Sie mit Flask einen einfachen Punktbildgenerator
Starten Sie einen Webserver mit Python und Flask
Ersetzen wir UWSC durch Python (5) Machen wir einen Roboter
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
Kurs zur Erstellung von Webanwendungen, der mit Flask of Python Teil 2 Kapitel 1 ~ JSON-Austausch ~ gelernt wurde
Lassen Sie uns mit Vue.js und Django-Rest-Framework [Teil 2] ~ Vue setup ~ eine nervenschwächende App erstellen
Lassen Sie uns mit Vue.js und Django-Rest-Framework [Teil 1] ~ Django-Setup ~ eine nervenschwächende App erstellen
Lassen Sie uns eine App erstellen, die ähnliche Bilder mit Python und Flask Part1 durchsuchen kann
Lassen Sie uns eine App erstellen, die ähnliche Bilder mit Python und Flask Part2 durchsuchen kann
Machen Sie mit LINE + Flask einen morphologischen Analyse-Bot
Wie man ein Schießspiel mit toio macht (Teil 1)
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Analysieren und visualisieren Sie JSON (Webanwendung ⑤ mit Python + Flask)
[Teil 2] Erstellen wir einen Webserver mit EC2 Linux