Python 127.0.0.1和localhost错误-first REST API,MacOS
我正在学习python,正在编写REST API代码:Python 127.0.0.1和localhost错误-first REST API,MacOS,python,rest,local,macos-sierra,Python,Rest,Local,Macos Sierra,我正在学习python,正在编写REST API代码: from flask import Flask,jsonify,request,render_template app = Flask(__name__) stores = [{ 'name': 'My Store', 'items': [{'name':'my item', 'price': 15.99 }] }] @app.route('/') def home(): return render_templ
from flask import Flask,jsonify,request,render_template
app = Flask(__name__)
stores = [{
'name': 'My Store',
'items': [{'name':'my item', 'price': 15.99 }]
}]
@app.route('/')
def home():
return render_template('index.html')
#post /store data: {name :}
@app.route('/store' , methods=['POST'])
def create_store():
request_data = request.get_json()
new_store = {
'name':request_data['name'],
'items':[]
}
stores.append(new_store)
return jsonify(new_store)
#pass
#get /store/<name> data: {name :}
@app.route('/store/<string:name>')
def get_store(name):
for store in stores:
if store['name'] == name:
return jsonify(store)
return jsonify ({'message': 'store not found'})
#pass
#get /store
@app.route('/store')
def get_stores():
return jsonify(stores)
#pass
#post /store/<name> data: {name :}
@app.route('/store/<string:name>/item' , methods=['POST'])
def create_item_in_store(name):
request_data = request.get_json()
for store in stores:
if store['name'] == name:
new_item = {
'name': request_data['name'],
'price': request_data['price']
}
store['items'].append(new_item)
return jsonify(new_item)
return jsonify ({'message' :'store not found'})
#pass
#get /store/<name>/item data: {name :}
@app.route('/store/<string:name>/item')
def get_item_in_store(name):
for store in stores:
if store['name'] == name:
return jsonify( {'items':store['items'] } )
return jsonify ({'message':'store not found'})
#pass
app.run(port=5000)
我使用macOS Sierra这应该是第一件要调查的事情:
jinja2.exceptions.TemplateNotFound:index.html
它正在寻找index.html
模板文件。是你创造的吗?它是否在正确的位置(即:)我将文件放在名为template的文件夹中。我已经改为模板,它的工作。谢谢你,伙计
[2017-07-17 06:54:35,234] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "app2.py", line 12, in home
return render_template('index.html')
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/templating.py", line 133, in render_template
return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/jinja2/environment.py", line 869, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/jinja2/loaders.py", line 113, in load
source, filename, uptodate = self.get_source(environment, name)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/templating.py", line 57, in get_source
return self._get_source_fast(environment, template)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/templating.py", line 85, in _get_source_fast
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: index.html
127.0.0.1 - - [17/Jul/2017 06:54:35] "GET / HTTP/1.1" 500 -
127.0.0.1 - - [17/Jul/2017 06:54:35] "GET /favicon.ico HTTP/1.1" 404 -