首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django ViewDoesNotExist何时启用

Django ViewDoesNotExist何时启用
EN

Stack Overflow用户
提问于 2018-12-14 00:13:21
回答 1查看 95关注 0票数 0

我有一个运行在Twisted服务上的django应用程序,它不能解析一些applet的视图。

当我在Django dev服务器上运行应用程序时,它加载得很好,但当我在Twisted上运行它时,当我在浏览器中导航到这些小程序时,我得到了错误Could not import apps.ai_stats.views. Error was: No module named aidb,唯一的问题是aidb.py文件绝对位于这些小程序目录中。我的结构如下。

代码语言:javascript
复制
apps/
    ai_stats/
        __init__.py
        ai2.py
        aidb.py
        models.py
        urls.py
        views.py
    __init__.py
    manage.py
    settings.py
    urls.py
    views.py

我不明白为什么它不能加载这个特定的模块。我在一个应用程序中有一堆不同的小应用程序,一些与此相关,另一些则不然。如果还需要任何其他信息,请让我知道。

下面是我的views.py文件:它调用另一个名为ai2.py的文件,该文件随后调用aidb.py。

代码语言:javascript
复制
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse

import ai2


def index(request):
    # ai2.refresh_cache()
    return render_to_response('ai_stats/index.html', locals())
    # return HttpResponseRedirect(reverse('apps.ai_stats.views.dashboard', kwargs={'env':ai2.PROD}))


def dashboard(request, env):
    ai2.refresh_cache()
    # env = ai2.PROD
    mf_error, mf_data, _ = ai2.AIStats().data_for_chart('most_failures', env=env)
    mc_error, mc_data, _ = ai2.AIStats().data_for_chart('most_calls', env=env)
    wp_error, wp_data, _ = ai2.AIStats().data_for_chart('worst_performing', env=env)
    error = (mf_error or '') + (mc_error or '') + (wp_error or '')
    cache_timestamp = ai2.data_cache['timestamp']
    return render_to_response('ai_stats/dashboard.html', locals())


def drill(request, env, chart):
    # env = ai2.PROD
    row_limit = int(request.GET.get('limit', 100))
    error, data, _ = ai2.AIStats().data_for_chart(chart, env=env, limit=row_limit)
    cache_timestamp = ai2.data_cache['timestamp']
    return render_to_response('ai_stats/drill_%s.html' % chart, locals())


def dash_data(request, env, chart):
    # env = ai2.PROD
    error, data, chart_type = ai2.AIStats().data_for_chart(chart, env=env, params=request.GET)
    r = render_to_response('ai_stats/%s.xml' % chart, locals())
    if chart_type == ai2.GRAPH_CHART:
        r['Content-Type'] = 'text/xml'
    return r


def pop(request, env, chart):
    pop_template = 'pop_mtd'
    if chart == 'all_mtd':
        pop_template = 'pop_all'
    ops_chart = '%s_ops' % chart
    return render_to_response('ai_stats/' + pop_template + '.html', locals())

下面是完整的回溯:

代码语言:javascript
复制
Environment:


    Request Method: GET
Request URL: https://0.0.0.0/ai_stats/

Django Version: 1.3.1
Python Version: 2.7.5
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'django.contrib.staticfiles',
 'apps.minisar',
 'apps.mock',
 'apps.actional',
 'apps.ai_stats',
 'apps.health',
 'apps.soap',
 'apps.directentry',
 'apps.toys',
 'apps.solutions']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  101.                             request.path_info)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  252.                     sub_match = pattern.resolve(new_path)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  252.                     sub_match = pattern.resolve(new_path)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  158.             return ResolverMatch(self.callback, args, kwargs, self.name)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_callback
  167.             raise ViewDoesNotExist("Could not import %s. Error was: %s" % (mod_name, str(e)))

Exception Type: ViewDoesNotExist at /ai_stats/
Exception Value: Could not import apps.ai_stats.views. Error was: No module named aidb
EN

回答 1

Stack Overflow用户

发布于 2018-12-15 00:43:30

我不知道为什么,但一时兴起,我决定将文件重命名为aidb2,并更改导入,它起作用了。我根本无法解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53765929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档