1. Gregory Konin

    20.07.2010

    0 ↑
    2 ↓
    Это снова я :-) На этот раз у меня вопрос относительно того, какой набор ПО вы используете для разработки?

    Хочу заметить, я читал документацию и книгу Форсье, Биссекса и Чан «Django. Разработка веб-приложений на python».

    На данный момент я использую на ноутбуке денвер и mod_python. Однако крайне заколебала необходимость рестартовать серверы после изменения кода. К своему стыду я так и не понял почему это приходится делать… кстати это второй вопрос, почему же?

    Спасибо за ответы.

    P.S.
    Чуть не забыл, есть и третий… иногда я использую встроенный сервер, и заметил такую особенность: он работает и на http://127.0.0.1:8000 и на 80-м порту тоже (т.е. http://127.0.0.1), хотя запускаю я его с дефолтными настройками, и крутиться он должен только на 8000. Вот только на 80-м, отваливаются некоторые моменты, например он не видимо новые адреса в urls.py которые я прописал, зато отлично видит директорию /media/ и подгружает от туда js и css. И что самое интересное, на порту 8000, все работает как нежно, но вот только директорию /media/ он видеть отказывается… я уже все перерыл, просто в растерянности от этой мистики…
  2. Gregory Konin

    20.07.2010

    0 ↑
    0 ↓
    А еще, при использовании связки денвер+mod_python, учитывая мою предыдущую тему — я получаю следующую ошибку, после каждого перезапуска:
    'UserAdmin.fieldsets[1][1]['fields']' refers to field 'custom_field' that is missing from the form.
    Она появляется только при первом входе после перезапуска, а если обновить страничку, то больше не повторяется, до следующего рестарта серверов. Однако, при использовании встроенного сервера такого не происходит.

    Я уже окончательно потерялся… направьте на путь истинный!
  3. Жнец

    20.07.2010

    0 ↑
    0 ↓
  4. Gregory Konin

    20.07.2010

    0 ↑
    0 ↓
    Он наверное уже использует mod_wsgi?
  5. Gregory Konin

    20.07.2010

    0 ↑
    0 ↓
    Жнец, я попробовал поставить. Честно говоря, я даже запустить не могу. То, что написано в readme — не работает. Вменяемого мануала я найти не могу.
  6. Дмитрий

    20.07.2010

    2 ↑
    0 ↓
    Денвер это хорошая среда для разработки сайтов начинающего РНР программиста так как не надо ни чего настраивать, ибо все идет из коробки. В дальнейшем многие отходят к сборке XAMPP или настраивают набор php, mysql и apache вручную. Этот переход обоснован тем, что сайты нужно устанавливать на разные общие хостинги, которые имеют разный набор библиотек php, настройки apache, структуру каталогов, разные версии mysql и т.д.
    Программирование на питоне с использованием джанго, уже требует навыков настройки систем управления базами данных (создание пользователей, ограничение прав доступа, ограничение в количестве процессов и т.д.), установки питоновских приложений (таких как сама django, драйверов для баз данных) из командной строки. Поэтому придется много читать документации.
    Для разработки ПО я использую:
    редакторы текстов: aptana studio(дома), netbeans (на работе)
    СУБД: PostgreSQL (более сложная в настройке чем MySQL, но ее можно превратить в географическую базу данных. Если с географическими базами данных в ближайшее время работать не надо, то можно взять MySQL)
    Apache во время разработки не нужен, его с легкостью заменяет тестовый сервер manage.py runserver
  7. Олег Лебедев

    20.07.2010

    1 ↑
    1 ↓
    Нативная среда для python, apache, MySQL, PHP и т.д. - это UNIX-подобные системы. И разрабатывалось это ПО исключительно для работы в этих системах. Так что лучше использовать никс для эффективной работы.
  8. Gregory Konin

    20.07.2010

    1 ↑
    3 ↓
    Олег, я весьма сомневаюсь в утверждении
    лучше использовать никс для эффективной работы.
    Давно использовал linux и продолжаю его использовать, но на ноутбуке не имею такой возможности, так как железки не все поддерживаются линуксом до сих пор. Так вот имея такой опыт, я могу сказать что это не имеет значения.

    Вопрос то не в эффективности, я в состоянии ее оценить. Вопрос в "чудесах", с которыми я не могу разобраться. Они описаны в 1 посте. Может быть хоть кто нибудь скажет, почему может быть недоступна статика в каталоге /media/ если заходить на по порту 8000, однако все доступно по 80?
  9. Дмитрий

    20.07.2010

    1 ↑
    0 ↓
    Скорее всего у Вас запущено 2 сервера: 80 порт прослушивает apache, 8000 слушает тестовый сервер. Для того, чтобы статика была доступна надо в urls.py в конце добавить строки:
    from django.conf import settings
    if settings.DEBUG:
    urlpatterns += patterns('',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    url(r'^admin_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    )
  10. Gregory Konin

    20.07.2010

    0 ↑
    1 ↓
    Дмитрий, спасибо Вам за ответ.
    Насчет денвера я в курсе, у меня на работе стоит никсовый сервер, поднятый своими руками вот там то я и планирую так же поднять и среду для джанго. И видимо apache таки поднимать придется потому, что к проекту иногда необходим доступ другим участникам разработки и верстальщикам.

    На ноутбуке я пользуюсь денвером из-за его автономности. Я очень не хотел от него отказываться, поэтому сам установил PostgreSQL, mod_python, сделал виртуальный хост, который обслуживается mod_python-ом. В принцие, можно забыть сейчас про апач, я с удовольствием бы пользовался встроенным сервером. Однако есть проблемы, которые я уже описал.
  11. Gregory Konin

    20.07.2010

    0 ↑
    0 ↓
    Дмитрий, простите не заметил следующего ответа. По консольному выводу я уже заметил, что по 80 порту действительно отвечает не встроенный сервер.
    Спасибо за совет! Я сейчас попробую, вот только меня смущает, что админская статика работает нормально...

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.