Webszolgáltatást építek, hogy az emberek kereshessenek az adatbázisban. Tegyük fel, hogy vannak felhasználóim és cégeim. Minden felhasználó és cég megtalálható az azonosítójára gondolva. Tehát ha myurl/users/<id>
keres, akkor az adott felhasználóról kap információt, másrészt, ha keres egy céget/, akkor erről a cégről kap információt. Ehhez két egyszerű beviteli szöveget készítettem (az egyiket a felhasználóknak, a másikat a vállalatoknak), ahová az emberek beírhatják a <id>
-t. A problémám az, hogy amikor megkapom az értéket a beviteli szövegből, ezt a myrul/users?<id>
-t kapom, és nem a myurl/users/id
-t. Megpróbáltam keményen kódolni a perjelet, de akkor myrul/users/?<id>
jelenik meg. Tehát a kérdésem az, hogy hogyan kaphatom meg a bemeneti szöveget url-ként és nem változóként.
Flask-ot használok, így a html-emben a következő Jinja2 kód van:
<!-- USER id -->
<form method='GET' action={{url_for('get_info_by_id', type_collection='user')}}>
<input type="text" name="my_id"/><input type="submit" value="Go">
</form>
<!-- COMPANY id-->
<form method='GET' action={{url_for('get_info_by_id', type_collection='company')}}>
<input type="text" name="my_id"/><input type="submit" value="Go">
</form>
Az én python szkriptemben (lombik)
@app.route('myurl/<type_collection>/<my_id>')
get_info_by_id(type_collection,my_id):
# search into the database and return info about that id