Flask 找不到 URL

0 投票
2 回答
2451 浏览
提问于 2025-04-18 15:23

我创建了一个robots.txt文件,我在找怎么把它放到mywebsite.com/robots.txt上,结果我找到了Flask这个框架。

这是我的代码

from flask import Flask, request, send_from_directory
app = Flask('maksc', static_folder='/static')


@app.route('/robots.txt')
def static_from_root():
return send_from_directory(app.static_folder, request.path[1:])

一切看起来都没问题,但当我访问mywebsite.com/robots.txt时,它找不到这个页面,Python就会显示“页面未找到”,并列出所有定义的URL。

2 个回答

0

试着设置一下 static_url_path

app = Flask(__name__, static_url_path='/')

这意味着文件将从 / 这个路径提供,而不是从 /static/blabla/ 这个路径。

编辑:根据你的评论,看起来你在使用 Django。试着在你的 urls.py 文件中添加以下内容:

from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
...
    (r'^robots\.txt$', direct_to_template,
     {'template': 'robots.txt', 'mimetype': 'text/plain'}),
)

这个例子来自这里: http://fredericiana.com/2010/06/09/three-ways-to-add-a-robots-txt-to-your-django-project/

0

试着把static_folder设置为'static',不要加斜杠,因为加了斜杠可能会把它当成最顶层的目录来理解。

撰写回答