2012-04-10 1 views
1

PART。コードは次のとおりです。ダイナミックHTTP再ログイン機能やモジュールのインポートパイソン/ジャンゴ私はurllib2の、cookielibとurllibはを使用してリモートでログインするためのクライアントを書いています1</p> <p>

import urllib2 
import urllib 
import cookielib 
from mysite.settings import LOGIN_URL # see Part 2 

login_data = {'username':'user', 'password': 'pass'} 

login_data_encoded = urllib.urlencode(login_data) 
cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
urllib2.install_opener(opener) 
response = opener.open(LOGIN_URL, login_data_encoded) 

このコードは動作し、ログインできます。しかし、私は再ログイン機能を作りたい。ような何か:

def login(username=None, password=None): 
    login_data = {} 
    login_data['username'] = raw_input('Please provide your username: ') 
    login_data['password'] = raw_input('Please provide your password: ') 
    return login_data 

しかし、私はない場合:

login_data_encoded = urllib.urlencode(login()) 

私は一度ログインすることができますが、私は別のユーザーとしてログインするときに、私が通訳を終了する必要があります。同じスクリプトで再ログインする方法はありませんか?

パート2

標準設定でDjangoを実行しています。私は_ のinit _の.pyとclient.pyが、ときclient.pyに私が持っているクライアントで

mysite/ 
    manage.py 
    mysite/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 
     client/ # Folder I created, not an app 

from mysite import settings 

を私は、モジュールが存在していない個人用サイトを取得。私はアプリを作成する必要がありますか標準のPythonのインポートはdjangoで動作しないのですか?

は、スクリプトを実行し、サーバーがあなたに認証されたオブジェクト(リソース)を提供されれば、あなたがLogout URLを呼び出さない限り、あなたがいる限り、セッションが存在するとして、それと対話することができ、クライアント側からあなた

+0

これらは2つの質問である必要があります。 –

答えて

0

ありがとうございました他の資格情報を使用して再度ログインします。

Pythonのインポートは、すべてのPythonアプリケーションで機能します。あなたのディレクトリ構造のように見えますが、あなたは親ディレクトリをimportしようとすることができます。それをmanage.pyのレベルに保つと、importがうまくいくはずです。あるいは、あなたのケースでは、インポートが同じレベルからの呼び出しであるか、または相対インポートを使用するように再構成します。

+0

私はログアウトの部分を理解していますが、スクリプトを再起動して再ログインするコードを特定できません。 'from .. import settings'を試しましたが、' ValueError:非パッケージでの相対インポートを試みました 'というメッセージが表示されます。 – Neeran

関連する問題