#python #django #django-middleware
#питон #джанго #django-промежуточное программное обеспечение #python #django
Вопрос:
Только сейчас я клонирую свое удаленное репозиторий со своего сервера на свой компьютер с помощью mercurial.
Я изменил settings.py для установки sqlite3 в качестве ядра базы данных и я попытался запустить встроенный веб-сервер Django:
$ python manage.py runserver
Validating models...
0 errors found
Django version 1.3, using settings 'myproj.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 283, in run
self.result = application(self.environ, self.start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 68, in __call__
return self.application(environ, start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 250, in __call__
self.load_middleware()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 47, in load_middleware
raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware socialregistration.middleware: "No module named facebook"
[26/May/2011 22:22:54] "GET / HTTP/1.1" 500 959
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 283, in run
self.result = application(self.environ, self.start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 68, in __call__
return self.application(environ, start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 250, in __call__
self.load_middleware()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 47, in load_middleware
raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware socialregistration.middleware: "No module named facebook"
На моем сервере все в порядке. Почему это в localhost?
— UDPATE
Установил pyfacebook и исправил это. Теперь я получаю эту ошибку при посещении /
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.3
Python Version: 2.7.1
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'myapp',
'avatar',
'socialregistration']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'socialregistration.middleware.FacebookMiddleware')
Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
89. response = middleware_method(request)
File "/Users/fredcollins/Desktop/myproj/socialregistration/middleware.py" in process_request
23. fb_user = facebook.get_user_from_cookie(request.COOKIES,
Exception Type: AttributeError at /
Exception Value: 'module' object has no attribute 'get_user_from_cookie'
Ответ №1:
Вы забыли установить facebook
на свой сервер.
Комментарии:
1. и затем не забудьте выполнить
syncdb
2. На моем сервере все в порядке. Проблема локальная.
3. Все это работает. Решение: github.com/flashingpumpkin/django-socialregistration/issues/37
4.@Ignacio, хотя я уверен, что ваш ответ правильный, я не понимаю, зачем
pyfacebook
это нужно. Это нигде не упоминается в документах для django-socialregistration. И ссылка описывает это как «клиентскую библиотеку для Facebook API» — не для этого ли предназначен django-socialregistration? 🙂5. @John: Нет, потому что глупо дублировать код, который уже существует в удобной форме.