Django не видит приложение
моя проблема в получении manage.py syncdb для запуска в virtualenv.
в какой-то момент он работал нормально, но, похоже, сломался, когда я установил South и обновил pip и распространял.
в любом случае, когда virtualenv активирован, я могу импортировать приложения в интерактивном интерпретаторе. Запуск через mod_wsgi, приложения также импортируются, и сайт может работать.
когда я бегу manage.py syncdb, он не может найти любое приложение в INSTALLED_APPS, который находится в моем virtualenv. Он отлично подбирает установленные системой приложения, но терпит неудачу, когда пытается импортировать только приложения virtualenv.
Привет это старый вопрос, но видел его не ответил. Не уверен, что вы пытаетесь сделать, но есть в основном два режима, которые вы можете использовать virtualenv,
- для разработки, для создания автономных сред
- для развертывания, чтобы создать автономные среды
в первом случае необходимо сначала активировать virtualenv с исходным кодом venv / bin / activate, так как при развертывании необходимо убедиться, что virtualenv активирован код вашего сайта. Лично я предпочитаю следующий подход к обеспечению того, чтобы ваш путь был установлен правильно. (Я также добавляю это к моему manage.py при разработке, поэтому мне не нужно беспокоиться об активации среды в первую очередь.
это работает, из-за того, как я структурирую свои проекты, вам придется изменить его на свою структуру каталогов. Мои проекты структурированы следующим образом:
У меня есть простое решение этой
просто запустите manage.py из python в bin вашей виртуальной среды.
Итак, скажем, ваш python здесь /home / tom / environments/my_env/bin / python вы можете запустить manage.py вот так:
/ home / tom / окружающая среда / my_env/bin / python manage.py syncdb
затем просто создайте символическую ссылку на python виртуальной среды внутри вашего проекта django и назовите его env_python, тогда вы можете сделать это:
У меня есть сайт с Django, который запускает некоторые пользовательские приложения. Я не использовал Django ORM, просто представление и шаблоны, но теперь мне нужно сохранить некоторую информацию, поэтому я создал несколько моделей в одном приложении и включил Admin.
Проблема в том, что когда я вхожу в Admin, он просто говорит: "У вас нет прав на редактирование чего-либо", даже приложение Auth не отображается на странице. Я использую одного пользователя, созданного с помощью syncdb в качестве суперпользователя.
На том же сервере у меня есть другой сайт, который просто использует Admin.
Использование Django 1.1.0 с Apache/2.2.10 mod_python/3.3.1 Python/2.5.2 с psql (PostgreSQL) 8.1.11 все в Gentoo Linux 2.6.23
Любые идеи, где я могу найти решение?
UPDATE: он работает с сервером разработки. Держу пари, что это имеет какое-то отношение к некоторым разрешениям файловой системы, но я просто не могу их найти.
UPDATE2: файл конфигурации vhost:
ОБНОВЛЕНИЕ 3: больше информации
- /var/django/gpx/ init.py существует и пуст
- Я запускаю python manage.py из каталога /var/django/gpx
- Сайт GPX, одно из приложений является contable и живет в /var/django/gpx/contable
- пользователь apache является группой webdev, и все эти каталоги и файлы принадлежат этой группе и имеют разрешение rw
ОБНОВЛЕНИЕ 4: подтвердил, что файл настроек одинаков для apache и runerver (переименовал его и оба сломались)
UPDATE 5:/var/django/gpx/contable/ init.py существует
Это релевантная часть urls.py:
Надеюсь, это поможет кому-то, но у нас возникла такая же проблема, потому что кто-то добавил другой сервер аутентификации в settings.py и не сохранил стандартный файл ModelBackend. Изменение настройки на:
зафиксировал это для нас.
Похоже, что вы не зарегистрировали никаких приложений с администратором (шаг 5 в этот обзор).
Попробуйте добавить строку admin.autodiscover() к основному urls.py, сделав сначала from django.contrib import admin .
Вы также можете зарегистрировать свои модели по отдельности с помощью admin.site.register(YourModel) .
Убедитесь, что вы добавили свое приложение в settings.INSTALLED_APPS.
Шаблон django для индексной страницы admin app:
Это должна быть ваша проблема.
EDIT: либо это, либо вы не вошли в систему как пользователь, которого вы говорите. Вы можете посмотреть в базе данных и убедиться, что auth_user.is_superuser для данного пользователя имеет значение 1?
EDIT: если пользователь is_staff и is_superuser отмечены как 1 в БД, и вы уверены, что вы вошли в систему как этот пользователь; возможно ли, что вы видите это только в процессе производства (т.е. под apache) и что ваши settings.py для производства отличаются от разработки?
EDIT: Таким образом, у вас другое поведение в dev и production. Я могу представить два сценария:
Также, каков ваш PYTHONPATH?
Что говорит строка SetEnv? Это указывает на тот самый модуль, который у вас есть в разработке? Вы уверены, что в PYTHONPATH у вас есть mysite.settings как файл, который, по вашему мнению, у вас есть?
b) У вас возникла проблема с PYTHONPATH, и приложения не могут быть найдены. Это должно привести к гораздо более серьезной ошибке, хотя.
У меня такая ситуация: Проект Django я создала на ноутбуке, потом подключилась по SSH к Raspberry Pi и скинула проект на малину. Продолжаю спокойно работать в PyCharm с проектом.
Когда мне понадобилось создать новое приложение, PyCharm просто напросто его не видит. А оно на самом деле создалось.
Что сделать, чтобы PyCharm видел вновь созданные приложения? А то дальше вся работа стоит
PyCharm показывает наличие лишь двух приложений (art 1 и mytest), а на самом деле их уже вагон.
Не видно новые Django приложения
То есть вы хотите создавать приложения в файловой системе raspberry, а редактировать их редактором из виндовз по пути D:\python bla bla\DjangoProjects
.
Не видно новые Django приложения
Не, я создала приложение на Винде, потом оно у меня просто скинулось на Малину. И запускаю я его уже на малине через сетевой ip.
Только как мне с ним работать, чтобы изменения были одновременно на двух компах?
Синхронизация и всё такое.
Может я конечно где-то что-то сделала не так. Но идею мою, мне кажется, вы уловили.
В PyCharm кажется нет возможности создавать проект сразу на малине, просто подключаясь к удалённому интерпретатору по ssh. Он просит локальный. И ничего нельзя сделать. Соответственно и создаю я именно на винде изначально. И только потом уже его отправляю на малину. И запускаю с малины.
Не видно новые Django приложения
Яна, к малине вы подключаетесь по ssh, а в пайшарме у вас открыт проект на диске Д. Как вы представляете себе одновременное изменение файлов на двух разных машинах?
Yana
Только как мне с ним работать, чтобы изменения были одновременно на двух компах?
Синхронизация и всё такое.
Не видно новые Django приложения
Yana
Пичарм не проекты не видит - он не видит каталоги. Проводнику-то пофиг приложение это или нет.
А вот почему он их не видит - это загадка - магия. Они там вообще есть? Если есть, то должен видеть. Может вы другой проект синхронизируете?
для справки: я почти никогда не делаю “startapp”, тупо копирую пачку с файлами или сам создаю, собственно тоже самое делает и “manage.py startapp”.
Не видно новые Django приложения
Yana
Только как мне с ним работать, чтобы изменения были одновременно на двух компах?
На разных компах можно делать разные изменения (и противоречащие друг другу). Поэтому нужно сделать один репозиторий кода, который клонируется на оба компа, а потом применять pull/push.
хорошо, я вижу много этих ошибок вокруг. Я пробовал все, что я знаю, чтобы сделать, и до сих пор не понял этого.
Я работаю на сервере разработки под управлением python 2.5 и Django 1.3. Django 1.3 был установлен с использованием python setup.py установите после распаковки дегтя.скачать ГЗ.
все работает хорошо, у меня редко есть необходимость работать manage.py но я пытаюсь использовать новое приложение staticfiles и сталкиваюсь с проблемами.
хорошо, так что у меня есть PATH вопрос.
С Django install Я дважды проверяю мой .
Хорошо, давайте проверим, что у меня есть, echo $PYTHON_PATH был пуст, поэтому я установил его
все равно не повезло. Давайте проверим, что sys.путь должен сказать
путь есть, я даже создал /usr/lib/python2.5/site-packages / django.ПТГ с содержанием
у кого-нибудь есть ключ к тому, что здесь происходит?
Я нашел символическую ссылку дальше по пути, который мешал, но не на новую ошибку.
Я также попытался создать новый проект, чтобы увидеть, если там были какие-либо проблемы и получить те же utils.ошибка версии.
Если вы находитесь в virtualenv, вам нужно активировать его перед запуском ./manage.py 'команда'
Если вы настраиваете workon В.bash_profile или .bashrc
* пожалуйста, не редактируйте ваш manage.py файл может быть работает не правильный путь и может дать вам будущие ошибки
у меня была та же проблема, потому что я устанавливал Django как суперпользователь, поэтому не в моем virtualenv. Вы не должны делать sudo pip install Django
вместо этого установите его следующим образом:
пожалуйста, переустановите django с pip:
(замените 1.3 на вашу версию django)
Как известно, это вопрос пути.
база моих пользовательских пакетов имеет общее имя с каталогом, установленным в/etc / profile. Пакеты были в другом месте, однако для веб-сервера. Поэтому я удалил оскорбительные записи из своего $ PYTHONPATH и был хорош!
Спасибо за помощь.
еще одна возможная причина этой проблемы заключается в том, что ваша ОС работает python3 по умолчанию.
либо вы явно делать: python2 manage.py
или вы редактируете shebang manage.py вот так:
- на всякий случай парень с помощью Raspbian / Jessie получает
вы вероятно используете virtualenvwrapper. Не забудьте выбрать свою среду, запустив:
для меня мой сервер использовал Python 2.4. Я просто посмотрел Python 2.7, который был установлен на моем сервере, и создал псевдоним.
Если вам нужно знать больше, я нашел решение здесь
попробуйте изменить первую строку manage.py.
изменить
by
Я получаю ту же проблему, когда я пытаюсь создать новое приложение. Если вы пишете python manage.py startapp myapp , затем он ищет usr/bin / python. Но тебе это нужно"python", который расположен в / bin
- Windows, Python27
- мой проект django проверяется через svn
- при работе python manage.py runserver в новой папке, я получил ошибку импорта
- python manage.py runserver используется для работы в исходной папке (из которой я бы зафиксировал изменения), пока я не удалил ее
для тех из вас, кто использует Django 1.6 или новее, обратите внимание, что execute_manager был удален. Есть решение, опубликованное во втором так ответ здесь.
сохраните путь python python в переменной и выполните.Это будет включать в себя в противном случае отсутствующие пакеты.
У меня была похожая проблема. PyCharm не мог запустить сервер, но я мог запустить его из командной строки. Я попробовал, какой python, а затем убедился, что PyCharm был тем же интерпретатором, а затем все работало нормально.
эта ошибка обычно возникает, когда django не установлен. Если вы уже установили django, но все еще получаете ту же ошибку, то вы должны работать в отдельной виртуальной среде. Вам также необходимо установить django в вашей виртуальной среде. Когда вы находитесь в оболочке виртуальной машины, просто сделать это:
pip install django
Это потому, что виртуальная машина имеет отдельную файловую систему, он не распознает django, даже если он установлен на вашей системе.
Читайте также: