Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 由于()的url_而导致Flask BuildError_Python_Flask - Fatal编程技术网

Python 由于()的url_而导致Flask BuildError

Python 由于()的url_而导致Flask BuildError,python,flask,Python,Flask,当我的Flask程序编译时,试图通过浏览器访问服务器会导致以下生成错误 Traceback (most recent call last): File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/var/www/pulleffec

当我的Flask程序编译时,试图通过浏览器访问服务器会导致以下生成错误

Traceback (most recent call last):
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)    
  File "/var/www/pulleffect/pulleffect/middleware/reverse_proxy_fix.py", line 34, in __call__
    return self.app(environ, start_response)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/werkzeug/contrib/fixers.py", line 144, in __call__
    return self.app(environ, start_response)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/var/www/pulleffect/pulleffect/lib/utilities.py", line 97, in decorated_function
    return f(*args, **kwargs)
  File "/var/www/pulleffect/pulleffect/__init__.py", line 86, in index
    return render_template('index.html')
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
    context, ctx.app)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
    rv = template.render(context)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/var/www/pulleffect/pulleffect/templates/index.html", line 1, in top-level template code
    {% extends "signin.html" %}
  File "/var/www/pulleffect/pulleffect/templates/signin.html", line 1, in top-level template code
    {% extends "layout.html" %}
  File "/var/www/pulleffect/pulleffect/templates/layout.html", line 35, in top-level 
template code
    var shiftsRoute = "{{ url_for('shifts.index') }}";
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/helpers.py", line 312, in url_for
    return appctx.app.handle_url_build_error(error, endpoint, values)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/app.py", line 1641, in handle_url_build_error
    reraise(exc_type, exc_value, tb)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/flask/helpers.py", line 305, in url_for
    force_external=external)
  File "/var/www/pulleffect/penv/lib/python2.7/site-packages/werkzeug/routing.py", line 1620, in build
    raise BuildError(endpoint, values, method)
BuildError: ('shifts.index', {}, None)
我的理解是,这通常来自于尝试通过url的路由调用url,而不是它的方法。但是,在此实例中,索引是方法,而不是路由,并且仍然会引发错误

这是程序中失败的特定行:

var shiftsRoute = "{{ url_for('shifts.index') }}";
这是方法索引

@shifts.route('')
@require_signin
def index():
不幸的是,我完全迷路了。我唯一的猜测是调用shifts.index要求索引包含在类shifts中,而不是简单地保存在shifts.py中。什么是shifts

您只需执行以下操作:

@route('')
def index():
    #do something
    pass
然后:


什么是
shifts
以及如何将其绑定到
Flask
app对象?shifts是应用程序中的一个文件,提供所有当前工作人员的工作班次。我不是100%确定你所说的搭售是什么意思。但是它需要在主屏幕上生成一个表,我确实注册了蓝图。所以你有一个文件
shifts.py
,你在你的主应用程序文件中注册为蓝图,像
app.register\u blueprint(shifts,url\u prefix='/shifts')
,对吗?您在shifts.py中创建了Blueprint对象,对吗?像这样的
Blueprint('shifts'、\uu name\uuuu、template\u folder='templates/shifts')
之类的?@TylerHarden:你需要向我们展示你是如何创建
Blueprint()
对象的,否则这里没有足够的信息来帮助你。蓝图是这样注册的:shifts=Blueprint('shift',name,template_folder='templates')名称有适当的下划线,尽管出于某些原因,stack没有显示themshifts是应用程序中的一个文件,它提供了所有当前工作人员的工作班次。它当前以代码描述的方式编写,但不起作用。最有可能的是
shifts
是一个蓝图。您需要使用
@app.route()
Flask()
实例(通常命名为
app
)或蓝图(命名为任何名称)上的装饰器。使用蓝图时,需要在路线前面加上蓝图名称(指向
blueprint()
的第一个参数)。在任何情况下,如果没有限定名称,(
@app.route()
@shifts.route()
)甚至找不到装饰者,更不用说工作了。如果
shifts
是一个蓝图,那么端点名称就有前缀。最后但并非最不重要的一点是,这应该是一个注释,而不是一个答案。你要求澄清。如果你还没有评论的声誉,那么就不要评论。Eric Workman已经要求同样的澄清,所以反正你的职位是多余的。
url_for('index')