我正在使用Bottle框架来处理我正在处理atm的简单应用程序。我的瓶子库位于文件夹" lib"我通过" import lib.bottle"来调用lib文件夹中的瓶子框架。这是我的文件夹结构:
lib
- bottle.py
- bottledaemon.py
- __init__.py
view
- log-in.tpl
mybottleapp.py
这是我的代码:
#!/usr/bin/env python
import lib.bottle
from lib.bottle import route, template, debug, static_file, TEMPLATE_PATH, error, auth_basic, get, post, request, response, run, view, redirect, SimpleTemplate, HTTPError
from lib.bottledaemon import daemon_run
import os
import ConfigParser
#######################
# Application Logic #
#######################
# This line of code is not recognised:
app = bottle.default_app()
##################
# Page Routing #
##################
##### LOG-IN PAGE #####
@route('/')
@view('log-in')
def show_page_index():
outout = 0
# Pathfix for Daemon mode
TEMPLATE_PATH.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "view")))
debug(mode=True)
# Pass to the daemon
if __name__ == "__main__":
daemon_run()
所以它向我抛出这个错误: " name app = bottle.default_app()未定义"
如果我删除此行" app = bottle.default_app()"该应用程序工作正常,但我真的想在那里进行编程。
那么我做错了什么?是不是因为我在守护进程模式下运行应用程序,或者我不能从lib文件夹中直接调用它?
顺便说一下,我也无法导入ConfigParser。这可能有一个不同的原因,但我无法使用它。
答案 0 :(得分:-2)
所以它向我抛出了这个错误:
name app = bottle.default_app() not defined
您的错误实际上是
Traceback (most recent call last):
File ..., line ..., in ...
app = bottle.default_app()
NameError: name 'bottle' is not defined
因为您没有定义bottle
。您定义了lib.bottle
。使用你的新名字
app = lib.bottle.default_app()
或重命名:
import lib.bottle as bottle