[PYTHON] Comment utiliser le stockage Azure Table de Django (PTVS)

Qu'est-ce que le stockage de table?

Azure Table Storage Service (https://azure.microsoft.com/en-us/documentation/articles/storage-python-how-to-use-table-storage/) stocke de grandes quantités de données structurées. Je vais. Ce service est une ** banque de données NoSQL ** qui accepte les appels authentifiés depuis l'intérieur et l'extérieur du cloud Azure. Le fait est que vous pouvez stocker des données SQL en externe. Utilisation de PTVS Ceci est utile lorsque vous souhaitez utiliser SQL avec Django.

Création d'applications Django

Nous allons le créer en nous référant au site de ici. Tout d'abord, créez une nouvelle application Django. Veuillez consulter ici pour la méthode de création. Veuillez télécharger le package ** azure ** avec pip depuis ** Install Python Package **. azure_pip.png

Création de stockage

Sur Azure Portal Sélectionnez ** [Compte de stockage] ➡︎ [Ajouter] **. En gros, vous ne pouvez choisir que la partie ** nom **, puis utiliser les paramètres par défaut. De plus, si vous n'avez pas créé de ** groupe de ressources **, créez-en un! ストレージ設定.png

Une fois créé, le compte de stockage proviendra du compte que vous venez de créer ** [Compte] ➡︎ [Clé d'accès] ➡︎ [Compte / clé de stockage] ** Souvenons-nous! Obligatoire lors de l'accès de l'extérieur. アクセスキー.png

Remplissez le code source

J'ai fait référence à partir du site présenté en premier. Je vais omettre l'explication de l'azur importé, mais si vous voulez en savoir plus, [ici](https://github.com/yuesan/azure-content-jajp/blob/master/articles/storage/storage-python-how- Il y a une explication dans to-use-table-storage.md).

views.py


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 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')

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']        
    partition_key = name + category     
    row_key = name     
    table_service.update_entity('mytasks', partition_key, row_key, {'PartitionKey':partition_key, 'RowKey':row_key, 'name': name, 'category':category})     
    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>
            </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>     
                    </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

Lorsque vous l'exécutez, il y a ** Nom: ** et ** Catégorie **, alors remplissez chaque tâche et ajouter une tâche stockera la valeur dans ** Mes tâches **. De plus, si vous la saisissez à nouveau ou redémarrez Django, la valeur sera conservée.

起動1.png 起動2.png

À la fin

Vous pouvez voir que la valeur est effectivement insérée à partir du compte de stockage. Il est très difficile et ennuyeux d'installer réellement SQL dans Windows, donc je pense que c'est une fonctionnalité très intéressante, alors essayez-le.

Recommended Posts

Comment utiliser le stockage Azure Table de Django (PTVS)
Comment utiliser SWIG de WAF
Utiliser Azure Blob Storage à partir de Python
[TF] Comment utiliser Tensorboard de Keras
Création et déploiement d'applications Django (PTVS) à l'aide du stockage Azure Table
Étude de Python Hour7: Comment utiliser les classes
Défis MySQL du stockage externe Azure avec Django (PTVS)
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
[BigQuery] Comment utiliser l'API de BigQuery pour Python -Création de table-
[Python] [Django] Comment utiliser le champ de choix et comment ajouter des options
Comment utiliser Keras ~ De la simple génération de modèle à CNN ~
Comment utiliser le bootstrap dans la vue de classe générique Django
Comment utiliser Django avec Google App Engine / Python
Comment utiliser Decorator dans Django et comment le créer
Comment utiliser Qt Designer
Comment utiliser la recherche triée
[gensim] Comment utiliser Doc2Vec
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Comment utiliser FastAPI ③ OpenAPI
Comment utiliser Python Argparse
Comment utiliser IPython Notebook
Comment utiliser Pandas Rolling
[Note] Comment utiliser virtualenv
Comment utiliser les dictionnaires redis-py
Python: comment utiliser pydub
[Python] Comment utiliser checkio