1

パート1

urllib2、cookielib、および urllib を使用してリモートでログインするクライアントを作成しています。コードは次のとおりです。

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 を実行しています。

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

client には_ init _ .py と client.py がありますが、 client.py では次のようにします:

from mysite import settings

mysite モジュールが存在しません。アプリを作成する必要がありますか、それとも標準の python インポートが django で機能しませんか?

ありがとうございました

4

1 に答える 1

0

Logoutクライアント側からは、スクリプトが実行され、サーバーが認証されたオブジェクト (リソース) を提供すると、 URL を呼び出してから他の資格情報を使用して再度ログインしない限り、セッションが存在する限りそれと対話できます。

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

于 2012-04-10T09:44:14.150 に答える