Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Satoshi Yamada
PDF, PPTX
919 views
Djangoで業務改善したい
DjangoをつかってPythonの処理をWEBAPI化した話を LTさせていただきました、
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
10
/ 21
11
/ 21
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
21
/ 21
More Related Content
PDF
Goで書くNeoVimプラグイン - OpenAppLab Aizu LT feat. CyberAgent
by
Reo Yamada
PDF
PHPデプロイツールの世界
by
Yuuki Takezawa
ODP
20101001 5分でわかるtrac pluginの作り方_slideshare
by
sinsoku listy
PDF
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
by
Shigeru Hanada
PDF
PostgreSQL実行計画入門@関西PostgreSQL勉強会
by
Satoshi Yamada
PDF
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
PDF
Laravel5.1 Release
by
Yuuki Takezawa
PDF
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
Goで書くNeoVimプラグイン - OpenAppLab Aizu LT feat. CyberAgent
by
Reo Yamada
PHPデプロイツールの世界
by
Yuuki Takezawa
20101001 5分でわかるtrac pluginの作り方_slideshare
by
sinsoku listy
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
by
Shigeru Hanada
PostgreSQL実行計画入門@関西PostgreSQL勉強会
by
Satoshi Yamada
Laravel 5.1 LTSでサービスを作る
by
infinite_loop
Laravel5.1 Release
by
Yuuki Takezawa
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
Viewers also liked
PDF
PostgreSQLによるデータ分析ことはじめ
by
Ohyama Masanori
PDF
bottleで始めるWEBアプリの最初の一歩
by
Satoshi Yamada
PDF
PostgreSQL 9.6 新機能紹介
by
Masahiko Sawada
PDF
PostgreSQLとPythonとSQL
by
Satoshi Yamada
PDF
(JP) GPGPUがPostgreSQLを加速する
by
Kohei KaiGai
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
PDF
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
PDF
まずやっとくPostgreSQLチューニング
by
Kosuke Kida
PDF
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
by
Satoshi Yamada
PDF
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
by
Satoshi Yamada
PDF
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
by
Kosuke Kida
PDF
bottle.pyをつかったチャットアプリ作成チュートリアル
by
Satoshi Yamada
PDF
In-Database Analyticsの必要性と可能性
by
Satoshi Nagayasu
PostgreSQLによるデータ分析ことはじめ
by
Ohyama Masanori
bottleで始めるWEBアプリの最初の一歩
by
Satoshi Yamada
PostgreSQL 9.6 新機能紹介
by
Masahiko Sawada
PostgreSQLとPythonとSQL
by
Satoshi Yamada
(JP) GPGPUがPostgreSQLを加速する
by
Kohei KaiGai
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
まずやっとくPostgreSQLチューニング
by
Kosuke Kida
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
by
Satoshi Yamada
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
by
Satoshi Yamada
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
by
Kosuke Kida
bottle.pyをつかったチャットアプリ作成チュートリアル
by
Satoshi Yamada
In-Database Analyticsの必要性と可能性
by
Satoshi Nagayasu
Similar to Djangoで業務改善したい
ODP
Django 1.5 における効果的な MTV 設計 & ネイティブApp
by
Yikei Lu
PDF
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
PDF
Djangoフレームワークの紹介
by
Shinya Okano
PDF
Djangoによるスマホアプリバックエンドの実装
by
Nakazawa Yuichi
PDF
Djangoフレームワークの紹介
by
Shinya Okano
PPTX
Djangoのチュートリアル
by
sakihohoribe
PPTX
DjangoでさくっとWeb アプリケーション開発をする話
by
Nakazawa Yuichi
PPTX
Django Rest Frameworkでお手軽にREST APIを作る
by
Matsuo Keita
PDF
Djangoのススメ
by
Alisue Lambda
KEY
How to django at first
by
Maito Kuwahara
PDF
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
ODP
Djangoアプリの実践的設計手法
by
Ian Lewis
PDF
Pythonで始めるtoC向けWebサービス入門
by
創史 花村
PPTX
コボラーがPython始めてみた話
by
Yuuki Nakajima
PDF
Teclab3
by
Eikichi Yamaguchi
Django 1.5 における効果的な MTV 設計 & ネイティブApp
by
Yikei Lu
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
Djangoフレームワークの紹介
by
Shinya Okano
Djangoによるスマホアプリバックエンドの実装
by
Nakazawa Yuichi
Djangoフレームワークの紹介
by
Shinya Okano
Djangoのチュートリアル
by
sakihohoribe
DjangoでさくっとWeb アプリケーション開発をする話
by
Nakazawa Yuichi
Django Rest Frameworkでお手軽にREST APIを作る
by
Matsuo Keita
Djangoのススメ
by
Alisue Lambda
How to django at first
by
Maito Kuwahara
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
Djangoアプリの実践的設計手法
by
Ian Lewis
Pythonで始めるtoC向けWebサービス入門
by
創史 花村
コボラーがPython始めてみた話
by
Yuuki Nakajima
Teclab3
by
Eikichi Yamaguchi
More from Satoshi Yamada
PDF
10080分でPythonからIP Messeneger
by
Satoshi Yamada
PDF
本気でPythonで宛名書きした話
by
Satoshi Yamada
PDF
DBエンジニアに必要だったPythonのスキル
by
Satoshi Yamada
PDF
pythonでemlファイルを扱う話
by
Satoshi Yamada
PDF
15分で情シスに怒られる方法
by
Satoshi Yamada
PDF
201505 PostgreSQLアンカンファレンス(PL/Pythonで作るWEBアプリ)
by
Satoshi Yamada
PDF
Pythonで業務改善をしたときにあった問題(ライト版)
by
Satoshi Yamada
PDF
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
by
Satoshi Yamada
PDF
Requestsで始める5分前帰社
by
Satoshi Yamada
10080分でPythonからIP Messeneger
by
Satoshi Yamada
本気でPythonで宛名書きした話
by
Satoshi Yamada
DBエンジニアに必要だったPythonのスキル
by
Satoshi Yamada
pythonでemlファイルを扱う話
by
Satoshi Yamada
15分で情シスに怒られる方法
by
Satoshi Yamada
201505 PostgreSQLアンカンファレンス(PL/Pythonで作るWEBアプリ)
by
Satoshi Yamada
Pythonで業務改善をしたときにあった問題(ライト版)
by
Satoshi Yamada
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
by
Satoshi Yamada
Requestsで始める5分前帰社
by
Satoshi Yamada
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Djangoで業務改善したい
1.
1 株式会社アシスト 山田 聡 @denzowill Djangoで業務改善したくなった
2.
2 だいたいこんな感じで生きてます
3.
3 いままで
4.
アプリケーションA アプリケーションB アプリケーションC XMPP Connector XMPP Connector
Mechanize Wrapper XMPP Connector
5.
5 ● XMPP:オープンなチャットプロトコル ● Mechanize: ブラウザをコードで操作 ● BeautifulSoup: Mechanizeの補助 ● IPMessenger:
IPメッセンジャ
6.
アプリケーションA アプリケーションB アプリケーションC XMPP Connector XMPP Connector
Mechanize Wrapper XMPP Connector
7.
アプリケーションA アプリケーションB アプリケーションC XMPP Connector XMPP Connector
Mechanize Wrapper XMPP Connector Ver 0.4 Ver 0.5 Ver 0.6
8.
8 自作ライブラリが 時期によってばらばら
9.
9 自作ライブラリが 時期によってばらばら →いちいち更新がめんどくさい
10.
アプリケーションA アプリケーションA アプリケーションB アプリケーションC XMPP Connector Mechanize Wrapper
11.
11 中央集権化
12.
アプリケーションA XMPP Connector Mechanize Wrapper Django
13.
13 DjangoだとPythonを WEB化しやすい
14.
14 ● HTTPアクセスでJSONを戻すことにした ● curlで連打されると情シスに怒られる ● 登録・認証しとかないとまずい ● Djangoなら簡単っぽい?
15.
15 ├─IntraCtl -- イントラ操作を自動化 │
├─lib │ └─migrations ├─AuthCtl -- 認証処理 │ ├─lib │ ├─migrations │ └─templates │ └─auth ├─static -- WEBサービスとしての静的ファイル │ ├─css │ ├─fonts │ └─js ├─XmppCtl -- XmppのAPI提供 │ ├─lib │ └─migrations └─YmsftUtilServer -- Djangoのプロジェクト
16.
16 # アクセス許可があるAPIアクセスかのチェック用のデコレータ def check_access_permission(func): import
functools @functools.wraps(func) def wrapper(*args, **kwargs): # 第一引数はrequestオブジェクト request = args[0] # host:port/apiname/xxxxx -> apiname api_url = request.path.split("/")[1] from_addr = get_client_ip(request) token_key = request.META.get('HTTP_AUTHORIZATION') if check_token_auth(api_url, from_addr, token_key): return func(*args, **kwargs) else: return fobbiden_response() return wrapper Authoraization ヘッダをチェックするデコレータ
17.
17 @comm.check_access_permission def post_message(request): ret_dict =
{ u"error": None, u"message": None } if request.method == 'POST': form = XmppSendForm(request.POST) if form.is_valid(): : try: stop_event = threading.Event() exception_event = threading.Event() xmpp_talker_inst = XmppTalker(sender_account, sender_password, ...) : xmpp_talker_inst.join() except XWException as e: ret_dict[u"error"] = True ret_dict[u"message"] = e.message else: ret_dict[u"error"] = True ret_dict[u"message"] = u"POST FORMAT ERROR[%s]" % form.errors.as_json() return HttpResponse( json.dumps(ret_dict), content_type='application/json' ) ほかのView層で使う
18.
アプリケーションA XMPP Connector Mechanize Wrapper Django アプリケーション Client HTTP
通信必要なPOSTパラメータと ヘッダがあればいい
19.
19 class ClientSDKBase(object): def __init__(self,
server_url, token_key): self.server_url = server_url self.token_key = token_key self.encoding = u"utf-8" self.version = u"0.1" @staticmethod def _http_post(url, headers, base_params_dict): response = {} try: params = urllib.urlencode(base_params_dict) req = urllib2.Request(url, params, headers) res = urllib2.urlopen(req) response["body"] = res.read() response["headers"] = res.info().dict except urllib2.URLError as e: raise YmsftSDKException(e.message) ret_body = response["body"] try: return json.loads(ret_body) except ValueError as e: raise YmsftSDKException("When Parse JSON[%s][%s]" % (e.message, ret_body)) Client側
20.
20 #!/usr/bin/env python # -*-
coding: utf-8 -*- from ymsft_util_client import XmppCtlClient import sys # クライアントインスタンス作成 ac = XmppCtlClient("http://localhost:8000/", "b7f6e30e44ec109012a3300ead6bd7f429e4cbe6") # 基本形 print ac.post_message( to_addr="sayamada@xxxxx.co.jp", post_message=u"こんにちは" ) # 送信元アドレス指定 print ac.post_message( to_addr="sayamada@xxxxx.co.jp", post_message=u"こんにちは", sender_account="any_group@xxxxx.co.jp", sender_password="any_group", ) 使い方
21.
21 ● Pythonでかき捨てスクリプトがあるならDjango楽 ● HTTPヘッダも簡単につかえるので認証も楽 ● FormクラスつかえばValidationも簡単 ● クライアントはHTTPさえできれば何でもよい Djangoで簡単に中央集権!
Download