我的任务是从1.8升级到1.11,但我需要确保在升级之前至少可以让这个站点运行在1.8(这不是我的代码)。什么是微不足道的问题,但是阻止我提出这个网站。我将以更加djangothonic的方式重构代码,并对这些观点感到震惊:
到目前为止,结构已经重新格式化(省略其他文件夹/文件)
mysite-closed
-> mysite
__init__.py
-> mysite
__init__.py
-> settings.py
urls.py # (1 below)
-> myapp
__init__.py
urls.py # (2 below)
-> views
__init__.py
-> basic.py
mysite.mysite.urls.py(1)
from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^comments/', include('django.contrib.comments.urls')),
(r'^myapp/', include('myapp.urls')),
)
mysite.myapp.urls.py(2)
from django.conf.urls.defaults import *
from django.conf import settings
urlpatterns = patterns('myapp.views.basic',
(r'^$', 'costs'),
(r'^about/', 'about'),
)
settings.py
ROOT_URLCONF = 'tcosite.urls'
INSTALLED_APPS = (
'tco',
)
basic.py
def costs(request):
'''
load of code
'''
pass
我已经处理了文件夹中的 init .py文件,但我怀疑我可能会在settings.py中忽略某些内容。设置中是否存在某些可能影响视图模块导入的参数?我在urls.py的路径中尝试了各种排列,例如:
myapp.views.basic
mysite.myapp.views.basic
views.basic
我收到的错误消息是:
ViewDoesNotExist at /myapp/
Could not import myapp.views.basic.costs. View does not exist in module myapp.views.basic.
mysite.myapp.views.basic
我得到:
ImportError at /myapp/
No module named myapp.views
views.basic
我得到:
ImportError at /tco/
No module named views
我还将视图文件夹移到了较低级别,但仍然没有成功。