繁体   English   中英

无法导入site.views。 错误是:没有模块命名视图

[英]Could not import site.views. Error was: No module named views

DIRS

./ksp

__init__.py
jquery.pngFix.js
manage.py
passenger_wsgi.py
settings.py
site/
site_media/
templates/
tmp/
urls.py

./ksp/site

__init__.py
models.py
models_.py
myforms.py
urls.py
views.py
views_back.py

FILES

./ksp/passenger_wsgi.py:

import os, sys
sys.path.insert(0,'/usr/lib/python2.7/site-packages/django-1.3')
sys.path.append('/home/p/pravicom/ksp/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

./ksp/urls.py:

from django.conf.urls.defaults import *
urlpatterns = patterns('',
    ('', include('site.urls')),
)

./ksp/site/urls.py:

import views
from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib.auth.views import login, logout

urlpatterns = patterns('',
    (r'^$', 'views.ShowMain'),
#....
)

urlpatterns += patterns('',
    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)

./ksp/site/views.py:

from django.shortcuts import render_to_response
from models import *
from myforms import *
from django.http import HttpResponseRedirect, HttpRequest
from django import forms
from django.template import RequestContext
from django.contrib.auth.models import User
from django.contrib import auth
from django.contrib.auth.decorators import login_required
import os, urlparse, Image, sys
from django.core.paginator import Paginator, InvalidPage, EmptyPage


def custom_proc(request):
    return{
        'user': request.user
    }

def ShowMain(request):
    all_posts = Posts.objects.all().order_by('-id')

    return render_to_response("index.html", {'all_posts':all_posts}, context_instance=RequestContext(request, processors=[custom_proc]))

./ksp/settings.py:

...
ROOT_URLCONF = 'urls'
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
#    'django.contrib.sites',
#    'django.contrib.flatpages',
    'django.contrib.comments',
    'site',
)
...

结果:

异常类型:ViewDoesNotExist异常值:
无法导入site.views。 错误是:没有模块命名视图

site是一个很糟糕的名字,可以将你的模块称为与Python的site模块冲突。 您应该将其重命名为不会发生碰撞的其他内容。 您也可以通过在sys.path之前添加路径来实现此目的:

import os, sys
sys.path.insert(0,'/usr/lib/python2.7/site-packages/django-1.3')
sys.path.insert(0, '/home/p/pravicom/ksp/')

然而,这充其量只是hackish,可能会在未来的其他方面咬你。 最好的答案是重命名您的包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM