2
respostas

action do Formulario nao manda pra pagina correta.

Pessoal, boa noite. Estou testanto num servidor esse codigo.

Ele é parecido com o do curso. Quando mando salvar a questao ele manda pra pagina

/criar

ao inves de mandar pra

/projetoenem/criar

minha pasta raiz é essa /projetoenem

#!/bin/python
# -*- coding: utf-8 -*-

from flask import Flask, render_template, request

app = Flask(__name__)

class Questao:
    def __init__(self, assunto,gabarito,dificuldade,imagem):
        self.assunto=assunto
        self.gabarito=gabarito
        self.dificuldade=dificuldade
        self.imagem=imagem


q1=Questao('regra de tres','b','facil','enem2018-136')
lista=[q1]

@app.route('/')
def index():
    return render_template('lista.html', titulo='Questoes', questoes=lista)


@app.route('/novo')
def novo():
    return render_template('novo.html', titulo='Adicionar Questao')


@app.route('/criar', methods=['POST',])
def criar():
    assunto=request.form['assunto']
    gabarito=request.form['gabarito']
    dificuldade=request.form['dificuldade']
    imagem=request.form['imagem']
    questao=Questao(assunto,gabarito,dificuldade,imagem)
    lista.append(questao)
    return render_template('questao.html', titulo='teste', questao=questao)

if __name__ == '__main__':
        app.run()

############################################################

{% extends "template.html"%}
{%block conteudo %}
      </div>
      <form action="/criar" method="post">
        <fieldset>
          <div class="form-group">
            <label for="assunto">Assunto</label>
            <input type="text" id="assunto" name="assunto" class="form-control">
          </div>
          <div class="form-group">
            <label for="gabarito">Gabarito</label>
            <input type="text" id="gabarito" name="gabarito" class="form-control">
          </div>
          <div class="form-group">
            <label for="dificuldade">Dificuldade</label>
            <input type="text" id="dificuldade" name="dificuldade" class="form-control">
          </div>
          <div class="form-group">
            <label for="imagem">Imagem</label>
            <input type="text" id="imagem" name="imagem" class="form-control">
          </div>
          <button type="submit" class="btn btn-primary btn-salvar">Salvar</button>
        </fieldset>
      </form>
{%endblock%}
2 respostas

Andei procurando sobre o problema na internet e me parece ser um problema de colocar o projeto numa pasta que não é a raiz (que é normal de acontecer nas hospedagens) teria que configurar alguma variavel mas não estou sabendo como fazer. Se alguem puder ajudar ainda estou sem solução, Obrigado!

Oi Felipe, tudo bom?

Acredito que essa configuração de apontamento da raiz do projeto possa ser feita atravéz do parametro application_root:

https://flask.palletsprojects.com/en/1.1.x/config/#APPLICATION_ROOT

Lá no seu arquivo de configuração do servidor.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software