-
Это снова я :-) На этот раз у меня вопрос относительно того, какой набор ПО вы используете для разработки?
Хочу заметить, я читал документацию и книгу Форсье, Биссекса и Чан «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/ он видеть отказывается… я уже все перерыл, просто в растерянности от этой мистики… -
А еще, при использовании связки денвер+mod_python, учитывая мою предыдущую тему — я получаю следующую ошибку, после каждого перезапуска:
Она появляется только при первом входе после перезапуска, а если обновить страничку, то больше не повторяется, до следующего рестарта серверов. Однако, при использовании встроенного сервера такого не происходит.'UserAdmin.fieldsets[1][1]['fields']' refers to field 'custom_field' that is missing from the form.
Я уже окончательно потерялся… направьте на путь истинный! -
Он наверное уже использует mod_wsgi?
-
Жнец, я попробовал поставить. Честно говоря, я даже запустить не могу. То, что написано в readme — не работает. Вменяемого мануала я найти не могу.
-
Денвер это хорошая среда для разработки сайтов начинающего РНР программиста так как не надо ни чего настраивать, ибо все идет из коробки. В дальнейшем многие отходят к сборке XAMPP или настраивают набор php, mysql и apache вручную. Этот переход обоснован тем, что сайты нужно устанавливать на разные общие хостинги, которые имеют разный набор библиотек php, настройки apache, структуру каталогов, разные версии mysql и т.д.
Программирование на питоне с использованием джанго, уже требует навыков настройки систем управления базами данных (создание пользователей, ограничение прав доступа, ограничение в количестве процессов и т.д.), установки питоновских приложений (таких как сама django, драйверов для баз данных) из командной строки. Поэтому придется много читать документации.
Для разработки ПО я использую:
редакторы текстов: aptana studio(дома), netbeans (на работе)
СУБД: PostgreSQL (более сложная в настройке чем MySQL, но ее можно превратить в географическую базу данных. Если с географическими базами данных в ближайшее время работать не надо, то можно взять MySQL)
Apache во время разработки не нужен, его с легкостью заменяет тестовый сервер manage.py runserver -
Нативная среда для python, apache, MySQL, PHP и т.д. - это UNIX-подобные системы. И разрабатывалось это ПО исключительно для работы в этих системах. Так что лучше использовать никс для эффективной работы.
-
Олег, я весьма сомневаюсь в утверждении
Давно использовал linux и продолжаю его использовать, но на ноутбуке не имею такой возможности, так как железки не все поддерживаются линуксом до сих пор. Так вот имея такой опыт, я могу сказать что это не имеет значения.лучше использовать никс для эффективной работы.
Вопрос то не в эффективности, я в состоянии ее оценить. Вопрос в "чудесах", с которыми я не могу разобраться. Они описаны в 1 посте. Может быть хоть кто нибудь скажет, почему может быть недоступна статика в каталоге /media/ если заходить на по порту 8000, однако все доступно по 80? -
Скорее всего у Вас запущено 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}),
) -
Дмитрий, спасибо Вам за ответ.
Насчет денвера я в курсе, у меня на работе стоит никсовый сервер, поднятый своими руками вот там то я и планирую так же поднять и среду для джанго. И видимо apache таки поднимать придется потому, что к проекту иногда необходим доступ другим участникам разработки и верстальщикам.
На ноутбуке я пользуюсь денвером из-за его автономности. Я очень не хотел от него отказываться, поэтому сам установил PostgreSQL, mod_python, сделал виртуальный хост, который обслуживается mod_python-ом. В принцие, можно забыть сейчас про апач, я с удовольствием бы пользовался встроенным сервером. Однако есть проблемы, которые я уже описал. -
Дмитрий, простите не заметил следующего ответа. По консольному выводу я уже заметил, что по 80 порту действительно отвечает не встроенный сервер.
Спасибо за совет! Я сейчас попробую, вот только меня смущает, что админская статика работает нормально...
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.


