我正在使用python flask做一个小网站,这里是目录结构 enter image description here
这是run.py文件
from app import app
app.run
这是应用程序中的__init__file
from flask import Flask, render_template, json, request
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config')
@app.route('/')
def index():
return render_template('home.html')
# return "hello"
@app.route('/signin', methods=['GET', 'POST'])
def signin():
return 'ok'
这是home.html文件
<input type="text" id="name" placeholder="Username">
<input type="text" id="password" class="inbox" placeholder="password">
<div style="text-align:center">
<input type="button" id="btn_up_submit" class="btn btn-primary" value="sign up" onclick="upSubmit()">
<input type="button" id="btn_up_cancel" class="btn btn-success" value="cancel" onclick="upCancel()">
</div>
<script>
function upSubmit() {
var name = $("#name").val();
var password = $("#password").val();
mydata = {
'name':name,
'password':password
};
$.getJSON('/signin')
}
<script>
运行后,它可以显示home.html,但在我点击提交按钮后,浏览器会告诉我“找不到http://127.0.0.1:8000/signin”。请帮帮我,如何设置网址?我想从html发送args到.py文件,我该怎么办。非常感谢。
答案 0 :(得分:1)
LearningSlowly的评论值得研究。 Miguel Gringberg写了一篇非常好的Flask教程,它与Python 2.7完美配合: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
我建议尝试使用较小步骤的不同步骤。看起来问题在于你的javascript实现。如果你使用curl:
curl 127.0.0.1:5000/signin
你应该有'好'&#39;回到你身边。
如果你想将.html文件中的数据发送到你的views.py,我会特别关注Miguel教程的网络表单部分:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms
它可以帮助您创建一个表单来将变量发送到.html,并将表单字段POST回到您的views.py.
答案 1 :(得分:0)
我可以看到您的代码存在很多问题。
app.run( )
,我不确定如何运行烧瓶服务器。 $
和后续的jquery函数将无效upSubmit()
一旦解决了这些基本问题,它就可以了。检查屏幕截图here。