[PYTHON] Création et déploiement d'applications Django (PTVS) à l'aide du stockage Azure Table

Qu'est-ce que la banque de données NoSQL pour le stockage de table?

NoSQL (généralement interprété comme «Pas seulement SQL») est une taxonomie approximative qui fait référence aux systèmes de gestion de base de données autres que les systèmes de gestion de base de données (SGBDR) associés. De nombreux systèmes de gestion de bases de données NoSQL sont hautement optimisés pour le stockage et la récupération de données. Certains ont minimisé les fonctionnalités pour cette optimisation. Une base de données clé-valeur qui ne peut stocker qu'une «valeur» et une «clé» pour la récupérer en est un excellent exemple. Depuis le wiki En termes simples, l'environnement de base de données NoSQL est un système de base de données non relationnel et largement distribué qui permet une organisation et une analyse rapides et dynamiques de grandes quantités de données d'une grande variété de types. Citation Ce service de stockage utilisant NoSQL est appelé magasin de données NoSQL et est fourni sur Azure.

Création d'applications Django

Ceci est une continuation de Dernière fois. Je vais expliquer le package Python pour utiliser NoSQL. J'expliquerai une partie, mais pour plus de détails, [ici](https://github.com/yuesan/azure-content-jajp/blob/master/articles/storage/storage-python-how-to-use-table-storage .Maryland)

Package de stockage Azure Python

** Créer un tableau ** ** TableService **: accéder à la banque de données NoSQL sur Azure ** create_table **: Créer une table

account_name = 'Nom du compte de stockage'
account_key = 'key(N'importe laquelle de plusieurs clés convient)'
table_service = TableService(account_name=account_name, account_key=account_key)
table_service.create_table('mytasks')

** Extrait ** ** table_service.query_entities ('nom de la table', '', 'spécification d'enregistrement') ** Converti en SQL: ** Sélectionnez le nom, la catégorie De mes tâches; **

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

** Insérer **

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

remplacer Remplacer s'il est présent dans l'entité, insérer autrement Spécifiez ** Clé de partition ** et ** Clé de ligne ** pour les deuxième et troisième arguments de la même manière.

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

mise à jour Vous pouvez mettre à jour l'enregistrement en spécifiant ** PartitionKey ** et ** RowKey **

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

** Supprimer l'entité ** Si vous souhaitez supprimer une entité, vous pouvez la supprimer en spécifiant ** PartitionKey ** et ** RowKey **.

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

** Supprimer le tableau **

table_service.delete_table('tasktable')

Création d'applications Django

Dernière fois a été légèrement modifié pour ajouter une fonction de suppression.

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 = 'Nom du stockage'
account_key = 'Clé de stockage'
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="Effacer"></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'),
]

Courir

Essayez uniquement la fonction de suppression nouvellement implémentée Appuyez sur le bouton Supprimer pour supprimer l'enregistrement

** * Dans la mesure où j'ai effectivement vérifié, je ne peux pas supprimer les tables et les enregistrements dans le stockage sur Azure. Si vous souhaitez supprimer la table sur Azure, vous pouvez recréer le stockage. Cependant, c'est ennuyeux et difficile, il est donc recommandé de le supprimer par programme (à l'aide d'un package). ** **

1.png 2.png

Déployer des applications Django avec le stockage Table sur Azure

Cliquez avec le bouton droit sur le projet et sélectionnez ** [Publier] ** 1.png

Sélectionnez Microsoft Azure Web Apps ** [Publish] ** 2.png

Créez une nouvelle application avec [Nouveau]! 3.png

Donnez n'importe quel nom au ** nom de l'application Web ** et au ** plan de service d'application ** S'il n'y a pas de ** groupe de ressources **, veuillez le créer 4.png

En gros, vérifiez simplement, si vous souhaitez définir des paramètres détaillés, sélectionnez ** [Suivant] ** Il n'y a pas de problème, donc comme c'est ** [Problème] ** Ensuite, il sera téléchargé sur Azure 5.png

Enfin depuis l'écran de gestion du portail Azure [App Service] ➡︎ [Nom de l'application créée] ➡︎ [Présentation] ➡︎ [URL] Si vous sélectionnez, l'application Django que vous avez créée précédemment fonctionnera! !! 6.png

Recommended Posts

Création et déploiement d'applications Django (PTVS) à l'aide du stockage Azure Table
Déployer l'application Django créée avec PTVS sur Azure
Stockage de table Azure avec l'application PTVS Flask
Comment utiliser le stockage Azure Table de Django (PTVS)
Créez une application de gestion de partition shogi à l'aide de Django 4 ~ Créer une vue ~
[Azure] Créer, déployer et réapprendre un modèle [ML Studio classic]
Créez une application de gestion de partition shogi à l'aide de Django 6 ~ Split Template ~
Créez et déployez des applications Flask avec PTVS
Créez une application de gestion de score shogi à l'aide de Django 3 ~ Paramètres du site de gestion par défaut de Django ~
Créer une application Todo avec Django ④ Implémenter la fonction de création de dossier et de tâche
Créer une application d'assistance technique à l'aide de PyLearn2
Créer une carte Web en utilisant Python et GDAL
Défis MySQL du stockage externe Azure avec Django (PTVS)
Jusqu'à ce que vous créiez une nouvelle application dans Django
Créez une application Web qui convertit le PDF en texte à l'aide de Flask et PyPDF2
Créer un planning Django
Créer une application Todo avec Django REST Framework + Angular
Créez une application graphique native avec Py2app et Tkinter
Essayez de créer une application Todo avec le framework Django REST
Créer une application Todo avec Django ③ Créer une page de liste de tâches
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
À moi-même en tant que débutant Django (1) -Création d'un projet / application-
À moi-même en tant que débutant Django (4) --Créer une application mémo-
Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
Rechercher la table à l'aide de sqlalchemy et créer un dictionnaire
Lorsque je déploie une application Django sur Apache2 et qu'elle ne lit plus les fichiers statiques
Créez un script de déploiement avec fabric et cuisine et réutilisez-le
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créez une application CRUD simple en utilisant la vue de classe générique de Django
Créer une page d'accueil avec django
Créer un écran de connexion Django
Créer et lister des modèles Django
Créez un fichier temporaire avec django sous forme de zip et renvoyez-le
Déployer Django + React à partir de zéro vers GKE (3) Créer un projet GCP
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Page de création de décalage)
Créez un lot planifié simple à l'aide de l'image Python de Docker et de parse-crontab
Utilisez sqlalchemy pour rechercher la table DB et créer un Dataflame pour les pandas
Comment formater un tableau à l'aide de Pandas Appliquer, pivoter et permuter le niveau
Créez facilement un TalkBot en utilisant Discord.py et l'API Talk d'A3RT (pya3rt).
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
Comment déployer une application Django sur heroku en seulement 5 minutes
Création d'une application de gestion de score shogi à l'aide de Django 1-Construction de l'environnement-
Étapes pour créer un projet Django
Déployer l'application Django avec Docker
Créer un dictionnaire imbriqué à l'aide de defaultdict
Créer un tableau simple à l'aide de prettytable
Implémenter l'application Django sur Hy
Créer une API CRUD à l'aide de l'API rapide
Déployez Django en 3 minutes à l'aide de docker-compose
Créez un wrapper de langage C à l'aide de Boost.Python
Créer un téléchargeur de fichiers avec Django
Créer un bot LINE avec Django
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Introduction)
Créez une application Django sur Docker et déployez-la sur AWS Fargate
Déployez Django + React à partir de zéro vers GKE (4) Créez un cluster et un conteneur PUSH
Créer une pile avec une file d'attente et une file d'attente avec une pile (à partir de LetCode / Implémenter la pile à l'aide de files d'attente, Implémenter la file d'attente à l'aide de piles)