1

アプリケーション、モデル ビュー、テンプレートなどの通常のコンポーネントを使用して Django アプリを作成しました。

Django アプリのアーキテクチャは、REST エンドポイントにアクセスしてビューの 1 つを呼び出すまで、基本的にはそこに座って何もしないようなものです。次に、ページ (または私の場合は JSON) を提供し、次の REST 要求を待ちます。

このアプリに自動ツイートを挿入したいと思います。この目的のために、python-twitterライブラリを使用します。私のツイートには URL が含まれます。Twitter の Web サイトによると、ツイートに挿入された URL はすべて、Twitter 自体によって 23 文字に短縮されます。したがって、残りの文字は、ツイートの URL 以外の部分に使用できます。ただし、23 文字のサイズは変更される可能性があります。そのため、Twitter では、アプリケーションのロード時に短縮 URL の現在のサイズを確認することを推奨していますが、1 日に 1 回までに留めてください。これは、python-twitter を使用して現在の短縮 URL のサイズを確認する方法です。

>>> import twitter

>>> twitter_keys = {
    "CONSUMER_KEY": "BlahBlahBlah1",
    "CONSUMER_SECRET": "BlahBlahBlah2",
    "ACCESS_TOKEN_KEY": "BlahBlahBlah3",
    "ACCESS_TOKEN_SECRET": "BlahBlahBlah4",
}

>>> api = twitter.Api(
    consumer_key=twitter_keys['CONSUMER_KEY'],
    consumer_secret=twitter_keys['CONSUMER_SECRET'],
    access_token_key=twitter_keys['ACCESS_TOKEN_KEY'],
    access_token_secret=twitter_keys['ACCESS_TOKEN_SECRET'],
)

>>> api.GetShortUrlLength()
23

この値をアプリケーションの開始時に 1 回だけ Twitter から取得し、アプリケーションの実行中は常に Django モデルで使用できるように、この値をどこにどのように保存すればよいですか? ファイルに入れるべきsettings.pyですか?それとも別の場所ですか?必要に応じてコードサンプルを含めて、完全に明確かつ明示的にしてください。

4

1 に答える 1

1

さまざまな方法があり、主に意見の問題です。もちろん、最も簡単な方法は、そのデータを twitter に接続するモジュールのソース ファイルに保持することです。これは、既存のシステムのように見えます。これは、パブリック VCS リポジトリにコミットされているアプリでない限り、正常に機能します。

コードが公開リポジトリに入った場合、2 つの選択肢があります。「app_settings」ファイルを使用するか、データベースに保存します。両方のアプローチについては、https ://stackoverflow.com/a/372​​66007/267540 で説明しています。

于 2016-06-07T10:11:35.567 に答える