Форум сайта python.su
Вот столкнулся с проблемой проблемой:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery.min.js" ></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<title>Test</title>
</head>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
3 <html>
4 <head>
5 <title>Error 404: Not Found</title>
6 <style type="text/css">
7 html {background-color: #eee; font-family: sans;}
8 body {background-color: #fff; border: 1px solid #ddd; padding: 15px; margin: 15px;}
9 pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
10 </style>
11 </head>
12 <body>
13 <h1>Error 404: Not Found</h1>
14 <p>Sorry, the requested URL <tt>http://py.couch/jquery.min.js</tt> caused an error:</p>
15 <pre>Not found: jquery.min.js</pre>
16 </body>
17 </html>
Офлайн
Раздел документации “Static Files”
Офлайн
используй абсолютные пути: /jquery.min.js
будет примерно так:
from bottle import static_file, get
@get('/static/:fname')
def st_file(fname):
send_file(fname, root='./static')
Отредактировано (Ноя. 26, 2010 16:04:34)
Офлайн
Сложил файлы в папку статик и написал:
from bottle import static_file, get
@route('/static/:fname')
def st_file(fname):
send_file(fname, root='./static')
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
3 <html>
4 <head>
5 <title>Error 500: Internal Server Error</title>
6 <style type="text/css">
7 html {background-color: #eee; font-family: sans;}
8 body {background-color: #fff; border: 1px solid #ddd; padding: 15px; margin: 15px;}
9 pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
10 </style>
11 </head>
12 <body>
13 <h1>Error 500: Internal Server Error</h1>
14 <p>Sorry, the requested URL <tt>http://py.couch/static/jquery.js</tt> caused an error:</p>
15 <pre>Unhandled exception</pre>
16 <h2>Exception:</h2>
17 <pre>NameError("global name 'send_file' is not defined",)</pre>
18 <h2>Traceback:</h2>
19 <pre>Traceback (most recent call last):
20 File "/usr/local/lib/python2.6/dist-packages/bottle-0.8.5-py2.6.egg/bottle.py", line 499, in handle
21 return handler(**args)
22 File "/home/user/workspace/python/test/main.py", line 26, in st_file
23 send_file(fname, root='./static')
24NameError: global name 'send_file' is not defined
25</pre>
26 </body>
27 </html>
Отредактировано (Ноя. 26, 2010 17:45:13)
Офлайн
вместо send_file напиши static_file, фаербаг как бы подсказывает
Офлайн
При:
@route('/static/:fname')
def st_file(fname):
static_file(fname, root='./static')
<body>
<h1>Error 404: Not Found</h1>
<p>Sorry, the requested URL <tt>http://py.couch/static/jquery.js</tt> caused an error:</p>
<pre>File does not exist.</pre>
</body>
@route('/static/:fname')
def st_file(fname):
return static_file(fname, root='./static')
Невозможно загрузить исходный код для: http://py.couch/static/jquery.js
Офлайн
Вот сами файлы:
test.tpl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="/static/jquery.js" type="text/javascript"></script>
<title>Test</title>
</head>
<body>
<div>{{data}}</div>
</body>
</html>
main.py
# coding: utf-8
from bottle import run, route, response, request, debug, static_file, get
from bottle import jinja2_template as templ
@route('/static/:fname')
def st_file(fname):
static_file(fname, root='./static')
@route('/')
def main_tpl():
data = "hello"
return templ('test', data = data)
debug(True)
Офлайн
у меня с return код нормально работает:
@route('/static/:fname')
def st_file(fname):
return static_file(fname, root='./static')
from bottle import run
run(host='localhost', port=8080, reloader=True)
Офлайн
Все спасибо большое заработало, ошибка была у меня с правами.
Офлайн