Html找不到烧瓶网址

时间:2015-11-10 14:31:54

标签: python flask

我正在使用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文件,我该怎么办。非常感谢。

2 个答案:

答案 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( ),我不确定如何运行烧瓶服务器。
  • 默认的烧瓶服务器在端口5000运行,而不是8000.
  • 目前尚不清楚是否包含了jquery。如果没有,$和后续的jquery函数将无效
  • 声明之前使用的
  • 函数upSubmit()

一旦解决了这些基本问题,它就可以了。检查屏幕截图here