#python #django #deployment
#python #django #развертывание
Вопрос:
Я пытаюсь развернуть приложение django, разработанное локально, следуя этому руководству, с сервером на debian, а не на fedora.
После установки requirements.txt и настройка базы данных, когда я пытаюсь выполнить вторую проверку работоспособности (или что-либо связанное с manage.py ) возникает следующая ошибка:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
django.setup()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
app_config.ready()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/debug_toolbar/apps.py", line 15, in ready
dt_settings.patch_all()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/debug_toolbar/settings.py", line 243, in patch_all
patch_root_urlconf()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/debug_toolbar/settings.py", line 231, in patch_root_urlconf
reverse('djdt:render_panel')
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 568, in reverse
app_list = resolver.app_dict[ns]
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 360, in app_dict
self._populate()
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 293, in _populate
for pattern in reversed(self.url_patterns):
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/opt/anpene/anpene/config/urls.py", line 26, in <module>
url(r'^contact/', include('contact_form.urls')),
File "/opt/anpene/anp/local/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 52, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named contact_form.urls
древовидная структура проекта (в основном перезаписанный шаблон из cookie-cutter-django):
anpene
│ ├── contrib
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ └── sites
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── media
│ │ └── uploads
│ ├── static
│ │ ├── audio
│ │ ├── css
│ │ ├── fonts
│ │ ├── images
│ │ ├── js
│ │ └── sass
│ ├── taskapp
│ │ ├── celery.py
│ │ └── __init__.py
│ ├── templates
│ │ ├── 404.html
│ │ ├── 500.html
│ │ ├── account
│ │ ├── base.html
│ │ ├── contact_form
│ │ ├── pages
│ │ ├── question.html
│ │ ├── quiz
│ │ ├── result.html
│ │ ├── result_testing.html
│ │ ├── users
│ │ └── zinnia
│ └── users
│ ├── adapters.py
│ ├── adapters.pyc
│ ├── admin.py
│ ├── admin.pyc
│ ├── apps.py
│ ├── apps.pyc
│ ├── context_processors.py
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ ├── models.py
│ ├── models.pyc
│ ├── templatetags
│ ├── tests
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ └── views.pyc
├── compose
│ ├── django
│ │ ├── Dockerfile
│ │ ├── Dockerfile-dev
│ │ ├── entrypoint.sh
│ │ └── gunicorn.sh
│ ├── nginx
│ │ ├── dhparams.example.pem
│ │ ├── Dockerfile
│ │ ├── nginx.conf
│ │ ├── nginx-secure.conf
│ │ └── start.sh
│ └── postgres
│ ├── backup.sh
│ ├── Dockerfile
│ ├── list-backups.sh
│ └── restore.sh
├── config
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings
│ │ ├── common.py
│ │ ├── common.pyc
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── local.py
│ │ ├── local.pyc
│ │ ├── production.py
│ │ └── test.py
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── dev.yml
├── django_quiz
│ ├── build
│ │ ├── bdist.linux-x86_64
│ │ └── lib.linux-x86_64-2.7
│ ├── dist
│ │ └── django_quiz_app-0.5.1-py2.7.egg
│ ├── django_quiz_app.egg-info
│ │ ├── dependency_links.txt
│ │ ├── not-zip-safe
│ │ ├── PKG-INFO
│ │ ├── requires.txt
│ │ ├── SOURCES.txt
│ │ └── top_level.txt
│ ├── essay
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── locale
│ │ ├── migrations
│ │ ├── models.py
│ │ ├── models.pyc
│ │ └── tests.py
│ ├── multichoice
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── locale
│ │ ├── migrations
│ │ ├── models.py
│ │ ├── models.pyc
│ │ └── tests.py
│ ├── quiz
│ │ ├── admin.py
│ │ ├── admin.pyc
│ │ ├── forms.py
│ │ ├── forms.pyc
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── locale
│ │ ├── migrations
│ │ ├── models.py
│ │ ├── models.pyc
│ │ ├── templates
│ │ ├── templatetags
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── urls.pyc
│ │ └── views.py
│ ├── runtests.py
│ ├── setup.py
│ ├── test-settings.py
│ └── true_false
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── locale
│ ├── migrations
│ ├── models.py
│ └── tests.py
├── docker-compose.yml
├── docs
│ ├── conf.py
│ ├── deploy.rst
│ ├── docker_ec2.rst
│ ├── index.rst
│ ├── __init__.py
│ ├── install.rst
│ ├── make.bat
│ └── Makefile
├── env
├── gulpfile.js
├── LICENSE
├── manage.py
├── package.json
├── pytest.ini
├── README.rst
├── requirements
│ ├── base.txt
│ ├── local.txt
│ ├── production.txt
│ └── test.txt
├── setup.cfg
├── staticfiles
│ ├── admin
│ │ ├── css
│ │ ├── fonts
│ │ ├── img
│ │ └── js
│ ├── admin_tools
│ │ ├── css
│ │ ├── images
│ │ └── js
│ ├── audio
│ │ └── juicy.mp3
│ ├── css
│ │ ├── animate.min.css
│ │ ├── bootstrap.min.css
│ │ ├── font-awesome.min.css
│ │ ├── lightbox.css
│ │ ├── main.css
│ │ ├── prettyPhoto.css
│ │ ├── progress-wizard.min.css
│ │ ├── project.css
│ │ └── responsive.css
│ ├── debug_toolbar
│ │ ├── css
│ │ ├── img
│ │ └── js
│ ├── django_extensions
│ │ ├── css
│ │ ├── img
│ │ └── js
│ ├── el-pagination
│ │ └── js
│ ├── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── fontawesome-webfont.woff2
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── images
│ │ ├── 404-bg.png
│ │ ├── 404.png
│ │ ├── aboutus
│ │ ├── blog
│ │ ├── blogdetails
│ │ ├── coming-soon1.png
│ │ ├── coming-soon2.png
│ │ ├── coming-soon3.png
│ │ ├── coming-soon4.png
│ │ ├── coming-soon-bg.png
│ │ ├── contact-bg.png
│ │ ├── favicon.ico
│ │ ├── home
│ │ ├── ico
│ │ ├── icon-map.png
│ │ ├── lightbox
│ │ ├── logo.png
│ │ ├── portfolio
│ │ ├── portfolio-details
│ │ └── services
│ ├── js
│ │ ├── audiojs.swf
│ │ ├── audio.min.js
│ │ ├── bootstrap.min.js
│ │ ├── coundown-timer.js
│ │ ├── gauge.js
│ │ ├── gmaps.js
│ │ ├── holder.js
│ │ ├── html5shiv.js
│ │ ├── jquery.countTo.js
│ │ ├── jquery.fitvids.js
│ │ ├── jquery.isotope.min.js
│ │ ├── jquery.js
│ │ ├── lightbox.min.js
│ │ ├── main.js
│ │ ├── masonry.min.js
│ │ ├── player-graphics.gif
│ │ ├── project.js
│ │ ├── respond.min.js
│ │ ├── w.gif
│ │ └── wow.min.js
│ ├── mptt
│ │ ├── arrow-move.png
│ │ ├── disclosure-down.png
│ │ ├── disclosure-right.png
│ │ ├── draggable-admin.css
│ │ └── draggable-admin.js
│ ├── sass
│ │ └── project.scss
│ ├── zinnia
│ │ ├── admin
│ │ └── theme
│ └── zinnia_bootstrap
│ ├── assets
│ ├── bootstrap
│ └── img
├── utility
│ ├── install_os_dependencies.sh
│ ├── install_python_dependencies.sh
│ ├── requirements-jessie.apt
│ ├── requirements-trusty.apt
│ └── requirements-xenial.apt
└── zinnia_customized
├── admin.py
├── admin.pyc
├── apps.py
├── __init__.py
├── __init__.pyc
├── migrations
│ ├── 0001_initial.py
│ ├── __init__.py
│ └── __init__.pyc
├── models.py
├── models.pyc
├── tests.py
├── urls.py
├── urls.pyc
├── views.py
└── views.pyc
Я установил django-contact-forms внутри виртуальной среды.
Приветствия
Комментарии:
1. Убедитесь, что вы используете интерпретатор, где вы устанавливаете свой
django-contact-forms
, потому что я только что попробовал, и все работает нормально.2. Попробуйте удалить все
.pyc
файлы как локально, так и на сервере развертывания и снова проверить обе настройки?