Найти - Пользователи
Полная версия: Привязка домена
Начало » Django » Привязка домена
1 2
andreiru
Здравствуйте!

Подскажите как правильно привязать домен, к сайту на Django ?
Александр Кошелев
andreiru
Подскажите как правильно привязать домен, к сайту на Django ?
Так же как и к любому другому сайту.
andreiru
Я обычно запускаю проект так:
python manage.py runserver 192.168.0.100:80
Наверное будет правильнее связать Django и Apache как описано в этой статье ?
del3d
я так понимаю, речь идет о связи ip и доменного имени.. Данный вопрос не о Django, а скорее о добавлении записи в DNS сервер
Ferroman
То что Вы написали - сервер для разработки. Его нельзя использовать в продакшине.

http://docs.djangoproject.com/en/1.2/howto/deployment/
Читать до просветления.
andreiru
Ferroman, спасибо то что нужно!
andreiru
Выбрал Apache и mod_wsgi

Делаю так:

В /etc/apache2/sites-available :
<VirtualHost *:80>

ServerAdmin admin@mail.ru

ServerName test1.ru

DocumentRoot /www/django/mysite

WSGIScriptAlias / /www/django/mysite/apache.wsgi

ErrorLog /www/django/mysite/error.log
CustomLog /www/django/mysite/access.log combined

<Directory '/www/django/mysite'>
AllowOverride All
</Directory>

</VirtualHost>
В /www/django/mysite/apache.wsgi :

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import sys

sys.path.insert(0, '/www/django/mysite')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

path = '/usr/local/django'
if path not in sys.path:
sys.path.append(path)
В логах выдаёт:
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] mod_wsgi (pid=3220): Exception occurred processing WSGI script '/www/django/mysite/apache.wsgi'.
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] Traceback (most recent call last):
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/core/handlers/wsgi.py", line 228, in __call__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self.load_middleware()
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/core/handlers/base.py", line 31, in load_middleware
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 28, in __getattr__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self._import_settings()
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 59, in _import_settings
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self._target = Settings(settings_module)
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 94, in __init__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named mysite.settings
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] mod_wsgi (pid=3222): Exception occurred processing WSGI script '/www/django/mysite/apache.wsgi'.
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] Traceback (most recent call last):
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/core/handlers/wsgi.py", line 228, in __call__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self.load_middleware()
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/core/handlers/base.py", line 31, in load_middleware
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 28, in __getattr__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self._import_settings()
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 59, in _import_settings
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] self._target = Settings(settings_module)
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 94, in __init__
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
[Mon Dec 20 13:27:00 2010] [error] [client 192.168.0.100] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named mysite.settings
Что я делаю не так ?
ziro
Вам необходимо еще модифицировать PYTHON_PATH, чтобы питон мог найти Ваш файл с настройками. Для этого в начала wsgi-скрипт вставьте что-то типа следующего

sys.path.insert(0, '/path/to/django/app')
Только укажите такой путь, для которого import mysite.settings будет валиден. И это надо сделать до строки с импортом джанги.
andreiru
ziro
Добавил:
sys.path.insert(0, '/www/django/mysite')
Но ничего не изменилось
ziro
Попробуйте “/www/django”. Для проверки можете в консоле питона набрать примерно следующее

>>> import sys
>>> sys.path.insert(0, '/www/django')
>>> from mysite import settings
Если путь указали правильный - ошибок импорта быть не должно.

Альтернатива - в wsgi-скрипте использовать

 os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB