Django(PTVS)에서 Azure까지의 Table 스토리지를 사용하는 방법

테이블 스토리지란 무엇입니까?


Azure Table 스토리지 서비스 대량의 구조화된 데이터를 저장한다.
이 서비스는 Azure 클라우드 내부와 외부에서 인증된 호출을 받는 NoSQL 데이터 저장소입니다.
중요한 것은 SQL의 데이터를 외부에 저장할 수 있다는 것이다.PTVS를 사용할 때는 Django에서 SQL을 사용할 때 편리합니다.

Django를 위한 응용 프로그램 만들기


여기의 사이트를 참고하여 제작하다.
먼저 새 Django 응용 프로그램을 만듭니다.제작 방법은 참조여기.
Install Python Package에서 azure 패키지를 pip으로 다운로드하십시오.

스토리지 생성


Azure입구에서
[계정 저장]➡추가를 선택합니다.
기본적으로 이름의 부분만 정하고 기본 설정만 하면 됩니다.
또한 자원 그룹을 만들지 않으면 만들십시오!

생성된 후 스토리지 계정에서 방금 생성한 계정
[계정]➡액세스 키➡스토리지 계정/key
기억하세요!외부에서 접근할 때 필요합니다.

소스 코드 입력


처음 소개한 사이트에서 참고했습니다.
가져온 azure에 대한 설명은 생략했지만 자세히 알고 싶은 사람여기에 대한 설명이 있습니다.
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 = 'ストレージのアカウント名'
account_key = 'key(複数あるkeyのどれかで良い)'
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')

실행


실행할 때 Name: 과 Category가 있기 때문에 각각addtask를 작성한 후 My Tasks에 값을 저장합니다.또한 Django를 다시 작성하거나 다시 시작하는 것도 당연하지만 값이 유지됩니다.


끝날 때


스토리지 계정에서 실제로 값이 삽입되었는지 확인할 수 있습니다.
실제로 Windows에 SQL을 설치하는 것은 매우 번거로우며 매우 고마운 기능입니다. 꼭 한번 시도해 보세요.

좋은 웹페이지 즐겨찾기