Django项目在本地工作,但在部署到Heroku时没有。
我收到了这个错误:
ImportError at /
No module named 'inkbook.urls'
Exception Type: ImportError
Exception Value: No module named 'inkbook.urls'
(是的,我仍然有DEBUG = True,我知道我需要更改它。)
Python 3.5.1
我的要求.txt
dj-database-url==0.4.1
Django==1.10.4
gunicorn==19.6.0
whitenoise==3.2.2
psycopg2==2.6.2
我遵循了这个指南: https://devcenter.heroku.com/articles/deploying-python
这一个: https://devcenter.heroku.com/articles/django-app-configuration
当我完全运行heroku local web
localhost:5000函数时。
我使用git push heroku master
进行了部署,但在访问实际的实时网站时出现上述错误。
这是给我问题的App的网址。我不确定那里是否有任何问题,但我怀疑它可能是其他地方: github.com/desult/inkbook
我发现了类似的问题,有些问题的解决方案是将ROOT_URLCONF = 'mysite.urls'
修改为ROOT_URLCONF = 'urls'
。这对我来说似乎不起作用,它也不会有效。
My Root urls.py:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^inkbook/', include('inkbook.urls', namespace='inkbook')),
]
我的inkbook.urls:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.home, name='home'), ]
当我从settings.py中的INSTALLED_APPS中删除'inkbook'并从urls.py中删除url(r'^inkbook/', include('inkbook.urls', namespace='inkbook'))
时,该网站正常运行。我怀疑它与include有关,但我不确定。