0

いくつかのビューを実行していくつかのページをレンダリングするために、ログインを使用してユーザーがスタッフであるかどうかを確認する 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)
4

1 に答える 1