[PYTHON] Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers

Was ist der NoSQL-Datenspeicher für die Tabellenspeicherung?

NoSQL (im Allgemeinen als "Nicht nur SQL" interpretiert) ist eine grobe Taxonomie, die sich auf andere Datenbankverwaltungssysteme als verwandte Datenbankverwaltungssysteme (RDBMS) bezieht. Viele NoSQL-Datenbankverwaltungssysteme sind stark für das Speichern und Abrufen von Daten optimiert. Einige haben die Funktionalität für diese Optimierung minimiert. Eine Schlüsselwertdatenbank, in der nur ein "Wert" und ein "Schlüssel" zum Abrufen gespeichert werden können, ist ein hervorragendes Beispiel. Aus dem Wiki Einfach ausgedrückt ist die NoSQL-Datenbankumgebung ein nicht relationales, weit verbreitetes Datenbanksystem, das eine schnelle und dynamische Organisation und Analyse großer Datenmengen unterschiedlichster Typen ermöglicht. Zitat Dieser Speicherdienst, der NoSQL verwendet, wird als NoSQL-Datenspeicher bezeichnet und in Azure bereitgestellt.

Django-Anwendungserstellung

Dies ist eine Fortsetzung von Letztes Mal. Ich werde das Python-Paket für die Verwendung von NoSQL erklären. Ich werde einen Teil erklären, aber für Details hier .md)

Python Azure-Speicherpaket

** Tabelle erstellen ** ** TableService **: Zugriff auf NoSQL-Datenspeicher in Azure ** create_table **: Tabelle erstellen

account_name = 'Name des Speicherkontos'
account_key = 'key(Jeder von mehreren Schlüsseln ist in Ordnung)'
table_service = TableService(account_name=account_name, account_key=account_key)
table_service.create_table('mytasks')

** Extrakt ** ** table_service.query_entities ('Tabellenname', '', 'Datensatzspezifikation') ** In SQL konvertiert: ** Name, Kategorie aus meinen Aufgaben auswählen; **

tasks = table_service.query_entities('mytasks', '', 'name,category')
for task in tasks:
    print(task.name)
    print(task.category)

** Einfügen **

table_service.insert_entity('mytasks', {'PartitionKey':name+category, 'RowKey':name, 'name':name, 'category':category})     

ersetzen Ersetzen, falls in der Entität vorhanden, anderweitig einfügen Geben Sie auf die gleiche Weise ** Partitionsschlüssel ** und ** Zeilenschlüssel ** für das zweite und dritte Argument an.

task = {'name':YUKI, 'category':Friends}
table_service.insert_or_replace_entity('mytasks', name+category, name, task)

aktualisieren Sie können den Datensatz aktualisieren, indem Sie ** PartitionKey ** und ** RowKey ** angeben.

table_service.update_entity('mytasks', partition_key, row_key, {'name': name, 'category':category})

** Entität löschen ** Wenn Sie eine Entität löschen möchten, können Sie sie löschen, indem Sie ** PartitionKey ** und ** RowKey ** angeben.

table_service.delete_entity('mytasks',name+category,name)

** Tabelle löschen **

table_service.delete_table('tasktable')

Django-Anwendungserstellung

Letztes Mal wurde geringfügig geändert, um eine Löschfunktion hinzuzufügen.

views.py


from django.shortcuts import render
from django.http import HttpRequest
from django.template import RequestContext
from datetime import datetime

from django.http import HttpResponse
from django.template.loader import render_to_string
from azure.storage.table import TableService, Entity

account_name = 'Speichername'
account_key = 'Speicherschlüssel'
table_service = TableService(account_name=account_name, account_key=account_key)
table_service.create_table('mytasks')

def list_tasks(request):      
    entities = table_service.query_entities('mytasks', '', 'name,category')
    html = render_to_string('app/test.html', {'entities':entities})     
    return HttpResponse(html)
 
 
def add_task(request):     
    name = request.GET['name']     
    category = request.GET['category']        
    table_service.insert_entity('mytasks', {'PartitionKey':name+category, 'RowKey':name, 'name':name, 'category':category})     
    entities = table_service.query_entities('mytasks', '', 'name,category')     
    html = render_to_string('app/test.html', {'entities':entities})     
    return HttpResponse(html)
 

def update_task(request):     
    name = request.GET['name']     
    category = request.GET['category']
    table_service.delete_entity('mytasks',name+category,name)
    entities = table_service.query_entities('mytasks', '', 'name,category')         
    html = render_to_string('app/test.html', {'entities':entities})     
    return HttpResponse(html)

test.html


<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>     
    <body>
        <h2>My Tasks</h2> <br>     
        <table border="1">
            <tr>
                <td>Name</td>
                <td>Category</td>
                <td>Check</td>
            </tr>     
            {% for entity in entities %}     
                <form action="update_task" method="GET">
                    <tr>
                        <td>{{entity.name}} <input type="hidden" name='name' value="{{entity.name}}"></td>     
                        <td>{{entity.category}} <input type="hidden" name='category' value="{{entity.category}}"></td>   
                        <td><input type="submit" value="Löschen"></td> 
                    </tr>     
                </form>     
            {% endfor %}     
        </table>     
        <br>     
        <hr>    
        <table border="1">
            <form action="add_task" method="GET">
                <tr>
                    <td>Name:</td
                    ><td><input type="text" name="name"></input></td>
                </tr>     
                <tr>
                    <td>Category:</td>
                    <td><input type="text" name="category"></input></td>
                </tr>     
                <tr>
                    <td><input type="submit" value="add task"></input></td>
                </tr>     
            </form>     
        </table>     
    </body>     
</html>

urls.py


urlpatterns = [
    url(r'^$', 'app.views.list_tasks'),
    url(r'^list_tasks$', 'app.views.list_tasks'),
    url(r'^add_task$', 'app.views.add_task'),
    url(r'^update_task$', 'app.views.update_task'),
]

Lauf

Versuchen Sie nur die neu implementierte Löschfunktion Drücken Sie die Löschtaste, um den Datensatz zu löschen

** * Soweit ich tatsächlich überprüft habe, kann ich keine Tabellen und Datensätze im Speicher von Azure löschen. Wenn Sie die Tabelle in Azure löschen möchten, können Sie den Speicher neu erstellen. Es ist jedoch ärgerlich und schwierig, daher wird empfohlen, es programmgesteuert (mithilfe eines Pakets) zu entfernen. ** **.

1.png 2.png

Stellen Sie Django-Apps mit Tabellenspeicher in Azure bereit

Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie ** [Veröffentlichen] ** 1.png

Wählen Sie Microsoft Azure Web Apps aus. ** [Veröffentlichen] ** 2.png

Erstelle eine neue App mit [Neu]! 3.png

Geben Sie ** Web App Name ** und ** App Service Plan ** einen beliebigen Namen Wenn es keine ** Ressourcengruppe ** gibt, erstellen Sie diese bitte 4.png

Überprüfen Sie einfach, ob Sie detaillierte Einstellungen vornehmen möchten, und wählen Sie ** [Weiter] ** aus Es gibt kein Problem, so wie es ist ** [Problem] ** Anschließend wird es auf Azure hochgeladen 5.png

Zum Schluss vom Azure-Portalverwaltungsbildschirm [App Service] ➡︎ [APP-Name erstellt] ➡︎ [Übersicht] ➡︎ [URL] Wenn Sie auswählen, funktioniert die zuvor erstellte Django-Anwendung! !! 6.png

Recommended Posts

Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Azure-Tabellenspeicher mit PTVS Flask-App
Verwendung des Azure Table-Speichers von Django (PTVS)
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
[Azure] Erstellen, Bereitstellen und erneutes Lernen eines Modells [ML Studio classic]
Erstellen Sie eine Shogi Score Management App mit Django 6 ~ Split Template ~
Erstellen und Bereitstellen von Flask-Apps mit PTVS
Erstellen Sie eine Shogi-Score-Management-App mit Django 3 ~ Django Standard-Management-Site-Einstellungen ~
Todo-App mit Django erstellen ④ Ordner- und Aufgabenerstellungsfunktion implementieren
Erstellen Sie mit PyLearn2 eine App zur falschen Unterstützung
Erstellen Sie eine Webmap mit Python und GDAL
MySQL-Herausforderungen für externen Azure-Speicher mit Django (PTVS)
Bis Sie eine neue App in Django erstellen
Erstellen Sie eine Web-App, die PDF mit Flask und PyPDF2 in Text konvertiert
Erstellen Sie einen Django-Zeitplan
Erstellen Sie eine Todo-App mit Django REST Framework + Angular
Erstellen Sie mit Py2app und Tkinter eine native GUI-App
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
Für mich als Django-Anfänger (1) -Erstellen eines Projekts / einer App-
Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Todo-App mit Django erstellen ⑤ Funktion zum Bearbeiten von Aufgaben erstellen
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
Durchsuchen Sie die Tabelle mit sqlalchemy und erstellen Sie ein Wörterbuch
Wenn ich eine Django-App auf Apache2 bereitstelle und keine statischen Dateien mehr liest
Erstellen Sie ein Bereitstellungsskript mit Stoff und Küche und verwenden Sie es erneut
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie eine einfache CRUD-App mit der generischen Klassenansicht von Django
Erstellen Sie eine Homepage mit Django
Erstellen Sie einen Django-Anmeldebildschirm
Erstellen und listen Sie Django-Modelle auf
Erstellen Sie eine temporäre Datei mit Django als Zip und geben Sie sie zurück
Stellen Sie Django + React von Grund auf auf GKE bereit. (3) Erstellen Sie ein GCP-Projekt
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Schichterstellungsseite)
Erstellen Sie einen einfachen geplanten Stapel mit Dockers Python Image und parse-crontab
Verwenden Sie sqlalchemy, um die DB-Tabelle zu durchsuchen und eine Datenflamme für Pandas zu erstellen
So formatieren Sie eine Tabelle mit Pandas Apply, Pivot und Swaplevel
Erstellen Sie ganz einfach einen TalkBot mit Discord.py und der Talk-API von A3RT (pya3rt).
Erstellen Sie mit Python + Django + AWS eine Scraping-App und wechseln Sie Jobs
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
Erstellen einer Shogi-Score-Management-Anwendung mit Django 1-Environment building-
Schritte zum Erstellen eines Django-Projekts
Stellen Sie die Django-Anwendung mit Docker bereit
Erstellen Sie ein verschachteltes Wörterbuch mit defaultdict
Erstellen einer einfachen Tabelle mit Stettytable
Implementieren Sie die Django-App auf Hy
Erstellen Sie die CRUD-API mit der Fast API
Stellen Sie Django in 3 Minuten mit Docker-Compose bereit
Erstellen Sie mit Boost.Python einen C-Sprach-Wrapper
Erstellen Sie mit Django einen Datei-Uploader
Erstellen Sie mit Django einen LINE-Bot
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Einführung)
Erstellen Sie eine Django-App auf Docker und stellen Sie sie in AWS Fargate bereit
Stellen Sie Django + React von Grund auf auf GKE bereit. (4) Erstellen Sie Cluster- und Container-PUSH
Erstellen Sie einen Stapel mit einer Warteschlange und eine Warteschlange mit einem Stapel (von LetCode / Implement Stack using Queues, Implement Queue using Stacks)