Найти - Пользователи
Полная версия: Вопрос по route во Flask
Начало » Web » Вопрос по route во Flask
1
ivn
Добрый день.
Возможно ли работать с такими маршрутами во Flask (если да, то как работать с этим) или как обычно это обрабатывают?
 catalog/subcatalogs/<id>/positions
catalog/subcatalogs/<id>/positions/<id>

Спасибо, за помощь.
py.user.next
paths.py
  
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def index():
    return 'Hello World!'
 
@app.route('/dir/<id1>/dir/<id2>/dir<num>')
def path_with_id(id1, id2, num):
    return 'Passed: id1={} id2={} num={}'.format(id1, id2, num)

[guest@localhost paths]$ cat run-server.sh 
#!/bin/bash

# Run local server localhost:5000

export FLASK_APP=paths.py
flask-3 run
[guest@localhost paths]$

Открывается в браузере
http://localhost:5000/dir/123/dir/456/dir789

Пишет в браузере
Passed: id1=123 id2=456 num=789

Пишет в консоли
[guest@localhost paths]$ ./run-server.sh 
* Serving Flask app "paths"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [15/Oct/2018 08:07:46] "GET /dir/123/dir/456/dir789 HTTP/1.1" 200 -
^C[guest@localhost paths]$
ivn
Спасибо за помощь.
Если есть возможность подскажите модель БД для такой иерархии (на примере).
Например вложенность 3-4 уровня.

Т.е. я получаю список первого уровня иерархии и складываю в первую таблицу, далее во вторую таблицу (по иерархии) складываю другой список и внешним ключом указываю на первую таблицу??

В думается вот так:

 class First(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
class Second(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    first_id = db.Column(db.Integer, db.ForeignKey('First.id'))
class  Third(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    second_id = db.Column(db.Integer, db.ForeignKey('Second.id'))

Прошу подсказать, спасибо.
ZerG
MongoDB
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB