2012-04-10 3 views
1

ЧАСТЬ 1Dynamic HTTP функция повторного Войти и модуль импорта питон/Джанго

Я пишу клиента для входа в систему удаленно с помощью 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 

В клиенте я имею _ инициализации _ .py и client.py, но когда в client.py я:

from mysite import settings 

я MySite модуль не существует. Должен ли я создавать приложение или стандартный импорт python не работает в django?

Спасибо

+0

Это должны быть два вопроса. –

ответ

0

С концом клиента, после того, как скрипт запускается и сервер предоставляет Вам аутентификацию объекта (ресурс), то вы можете взаимодействовать с ним, пока сеанс существует, если вы не называете Logout URL а затем снова войдите в систему, используя другие учетные данные.

Импорт Python работает со всеми приложениями python. Похоже, что в структуре вашего каталога вы можете попытаться импортировать родительский каталог, сохраните его на уровне manage.py и ваш импорт должен работать. Или для вашего случая, реструктурируйте, чтобы импорт вызывал с того же уровня или использовал относительный импорт.

+0

Я понимаю часть выхода из системы, но я не могу понять код для повторного входа в систему с перезапуском скрипта. Я попробовал 'from .. import settings', но он дает мне значение ValueError: Попытка относительного импорта в non-package'. – Neeran

Смежные вопросы