1
resposta

Duvida de como selecionar usuario em flask

<select>
usuarios
</select>

Exemplo quero fazer um formulario para adicionar o usuario em uma outra classe

codigos:

class Ordem:
    def __init__(self, Cliente, valor, descricao, id=None):
        self.id = id
        self.Cliente = Cliente
        self.valor = valor
        self.descricao = descricao


class Cliente:
    def __init__(self, nome, telefone, endereco, cep, id=None):
        self.id = id
        self.nome = nome
        self.telefone = telefone
        self.endereco = endereco
@app.route('/criarordem')
def criarordem():
    Cliente = request. form['Cliente']
    valor = request. form['valor']
    descricao = request.form['descricao']

    ordem = Ordem(Cliente, valor, descricao)
    ordem_dao.salvar(ordem)

    return redirect(url_for('OS'))

como faço para selecionar esse usuario necessario no form, quais informações são necessarias passar para o template

Criação de usuario:

      <form action="{{ url_for('criar') }}" method="post">
        <fieldset>
          <div class="form-group">
            <label for="nome">Nome</label>
            <input type="text" id="nome" name="nome" class="form-control">
          </div>
          <div class="form-group">
            <label for="telefone">Telefone</label>
            <input type="text" id="telefone" name="telefone" class="form-control">
          </div>
          <div class="form-group">
            <label for="cep">Cep</label>
            <input type="text" id="cep" name="cep" class="form-control">
          </div>
          <div class="form-group">
            <label for="endereco">Numero</label>
            <input type="text" id="endereco" name="endereco" class="form-control">
          </div>
          <button type="submit" class="btn btn-primary btn-salvar">Salvar</button>
          <a class="btn btn-danger" href="{{ url_for('clientes') }}">Voltar</a>
        </fieldset>
      </form>

Criação de ordem: em vez desse nome eu queria selecionar o usuario

          <div class="form-group">
            <label for="nome">Nome</label>
            <input type="text" id="nome" name="nome" class="form-control">
          </div>

não encontrei nem no youtube

1 resposta

Oii João, como você está?

Sinto muito pela demora em obter um retorno.

A ideia é que você passe uma lista com todos os clientes para a form e percorra essa lista de clientes na tag select. Por exemplo:

<select name="cliente" >
 {% for cliente in lista_clientes %}
       <option value="{{ cliente.nome}}">{{ cliente.nome}}</option>
 {% endfor %}
 </select>

Porém, para ser mais assertiva quanto ao seu caso de uso, seria necessário analisar o código como um todo. Se possível, compartilhe o mesmo no drive ou github e deixe o link na resposta.

Estou por aqui, tá bom? Fico no aguardo de sua resposta.

Abraços!