2017-09-19 23 views
-1

を取り除くには、ここに私のコードです:htmlフォーム - 疑問符と式

例えば
{% if request.path == '/employees' %} 
    <form action="{{ url_for('employees_name', employee_id=x) }}" /> 
    EmployeeId: <input type="text" name=x><br> 
    <input type="submit" value="Submit"> 
    </form> 
{% endif %} 

http://127.0.0.1:5002/employees/?x=1 

が、私はこれを必要とする:出力としてI入力 "1" は、私が得るとき

app = Flask(__name__) 
api = Api(app) 

class Employees_Name(Resource): 
    def get(self, employee_id): 
     conn = db_connect.connect() 
     query = conn.execute("select * from employees where EmployeeId =%d " %int(employee_id)) 
     result = {'data': [dict(zip(tuple (query.keys()) ,i)) for i in query.cursor]} 
     return Response(render_template('test.html', result=result, mimetype='text/html')) 

api.add_resource(Employees, '/employees') 

それを行う方法があります:

http://127.0.0.1:5002/employees/1 

は、ここに私のPythonのコードです?ありがとう

+0

を... – pingwin850

+0

、あなたは何をしているのか?あなたのコードを説明してください – Nabin

+0

htmlコードはデータベースのデータをブラウザに表示するためのコードです。Pythonコードはそのデータをデータベースから取り出します。このパターンは 'http://127.0.0.1:5002/employees/1'というパターンが必要ですブラウザ – pingwin850

答えて

1

フォームを処理するために「GET」を使用すると、フォームデータはURLの後に追加されたクエリ文字列としてフォーマットされます。普通の方法は、POSTエンドポイントを使用してフォームを処理し、フォームデータを検証し、次に自分のようなGETエンドポイントにリダイレクトすることです。

ので、コードはこのようなことがあります:templateで

from flask import request, url_for, redirect 
... 

class Employees(Resource): 
    def post(self): 
     employee_id = request.form.get('employee_id') 
     # validate... 
     return redirect(url_for('employee', employee_id=employhee_id)) 

class Employee(Resource): 
    def get(self, employee_id): 
     conn = db_connect.connect() 
     ... 

api.add_resource(Employees, '/employees') 
api.add_resource(Employee, '/employees/<int:employee_id>') # this rule is waht you want 

:私は検索エンジンのような何かをやろうとしている

<form action="{{ url_for('employees') }}"> 
    EmployeeId: <input type="text" name="employee_id"><br> 
    <input type="submit" value="Submit"> 
</form>