いくつかのビューを実行していくつかのページをレンダリングするために、ログインを使用してユーザーがスタッフであるかどうかを確認する django プロジェクトを作成しました。コードはうまく機能します。クライアント プログラムを作成したいのですが、Gtk で django プロジェクトに接続し、API を使用して db から情報を取得します。私のDjangoプロジェクトの多くのモデルではなく、APIは十分に単純です。TasyPie のような API を作成するための優れたアプリがいくつかあることは知っていますが、もっとシンプルなものが必要だと思います。私の質問はこれです:私の計画は、urllib2を使用してdjangoビューから応答を取得することです
しかし、私の質問はこれです。ユーザーが urllib2 を使用してログインしているかどうかを確認するにはどうすればよいですか。つまり、Django には request.user メソッドがあります。これをDjangoの外で使用できますか?または、リクエストごとに常にユーザー名とパスワードを送信し、ユーザーが認証されたスタッフであるかどうかをdjangoに確認させる必要がありますか?
たとえば、このdjangoビューのようなものを考えていました
def get_some_data(request):
user = request.user
if user.is_authenticated():
return some json_data
および urllib2 スクリプト
data = some_data_to_post_dict
data = urllib.urlencode(data)
req = urllib2.Request('http://127.0.0.1:8000/get_some_data.html')
resp = urllib2.urlopen(req)
それが私の考えの基本的な論理です。urllib2 スクリプトのデータ内にユーザー名とパスワードを入れて、API へのすべてのリクエストでそれらをチェックする必要がありますか?
例:ジャンゴビュー
def get_some_data(request):
if request.method = 'POST':
username = request['username']
password = request.['password']
user = authenticate(username=username, password=password) #do i need that in every view of my api's?
if user_loggedin:
return json_data
urllib2 スクリプト
data = {'username'='some_username', 'password'='some_password', other_data} #do i have to always include username and password on my data from urllib2 script?
data = urllib.urlencode(data)
req = urllib2.Request('http://127.0.0.1:8000/get_some_data.html')
resp = urllib2.urlopen(req)