Pythonの高速CRUD
https://github.com/aleimu/python-crud
目的
このプロジェクトは、人気のアセンブリ内のPythonのシリーズを使用して、すぐにこのプロジェクトベースのRESTfulなWeb APIを構築することができ、ここではその蓄積されたいくつかのCRUD操作の一般的な例と一般的な機能を配置する主な理由です。
説明
このプロジェクトは、以下の共通のコンポーネントを使用します。
- フラスコ:軽量WebフレームワークはPythonの、おそらく最も使用
- SQLAlchemyのフラスコ:ORMツール。このプロジェクトは、使いやすく、フラスコパッケージSQLAlchemyの使用のMysql、と必要
- Redisの:RedisのPythonクライアント
- apscheduler:Pythonの共通のタイミングタスク管理ライブラリ
- エクセルフラスコ:レポートのエクスポート
- このプロジェクトは、認証トークンを使用することで、
このプロジェクトは、以前にいくつかの一般的なコードの再利用や参照を容易にするために達成されました。
- ユーザモデルを作成します
- 達成するために
/v1/user/register
、ユーザー登録インタフェースを - 実装し
/v1/user/login
、ユーザーのログイン・インターフェースを - これは、実装
/v1/user/logout
(トークン取得するにはログインする必要があり後に)ユーザーインターフェイスをアウト - CRUDグループ化された写真
/v1/advert/group
、/v1/advert/image
- 戦略は、CRUDの画像を表示します
/v1/advert/style
- 訪問やアクセス接続の画像は/クリック/統計CRUDを引き起こし
/v1/advert/list
、/v1/advert/statistic
、
このプロジェクトは、以前、次のモジュールに分割一連のフォルダを作成しました:
- アプリの例アプリ、DBを入れ、ログイン
- モデルコードとデータベース関連の操作を格納するための責任のモデルフォルダデータベース
- ルートルート着信要求と前処理を入れて
- サービスは、より複雑なビジネスを処理するための責任がある、コードのビジネスモデルは、効果的にサービスコードの品質を向上させることができます(など、ユーザ登録、再充電、注文、問い合わせリスト、など)
- ローカルキャッシュおよび関連するコードを担当するキャッシュのRedis
- コール全体にいくつかの一般的なガジェット、機能、便利なサーバーを置くためのツール
- 委譲テスト(ここではテストファイルではありません完了)、db_script(以前のバージョンをすべて入れmysqlデータベースのテーブル構造の変更スクリプト)、および以前のバージョンのファイルの記述だけでなく、いくつかの助けを助けます
- 操作ログファイルによって生成されたログを置きます
ローカルで実行されています
python runserver.py
プロジェクトは、(あなたは、フラスコの参照文書を変更することができます)ポートを実行するために、3000で起動すると、あなたは定期的なタスクを有効にするかどうか(の定期的な統計ビュー/クリック)を設定することができます
本番環境はnginxのプロキシを使用することをお勧めしますuwsgi_config.ini
- このuwsgi uwsgi_config.ini --daemonize /var/log/flask_crud.log
server {
listen 3001 default_server;
server_name localhost;
location /static/ {
root /data/;
expires 30d;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/simpleflask.sock; # 必须和uwsgi_config.ini 中的socket配置一致
# 并且需要权限
}
}
参照
https://github.com/openspug/spug CRUDの良いパッケージをしている、それも便利です