Olá @guiOchagas beleza?
Resposta curta
Sim, da para desenvolver sites sem usar Javascript, mas é uma forma primitiva de programar que não vale a pena.
Resposta detalhada
Por exemplo, você consegue criar uma pagina de cadastro e enviar os dados de um formulário direto para uma rota sua no backend (Flask) sem usar o Javascript.
Lá você pega os dados, salva no banco de dados e redireciona o usuário para uma pagina (ou até mesmo a mesma pagina) com a mensagem de sucesso ou erro.
Até ai tudo bem. Você enviou uma requisição com o method POST
e o seu backend vai receber os dados normalmente.
Exemplo:
app.py
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/")
def formulario():
return render_template('formulario.html')
@app.route('/criar-usuario', methods=['POST'])
def rota_criar_usuario():
nome = request.form['nome']
print('nome recebido', nome)
# sua logica para criar
mensagem = "Usuário criado com sucesso"
return render_template('resultado_cadastro.html', msg=mensagem)
formulario.html
<form action="{{ url_for('rota_criar_usuario') }}" method="POST">
<input type="text" name="nome" />
<button>Cadastrar</button>
</form>
resultado_cadastro.html
<div>{{ msg }}</div>
Mas se você quiser alterar o método de requisição para PUT
por exemplo, você não pode, pois o HTML só permite POST
(e GET
se não me engano) na tag <form>
.
Lembro que antigamente a galera colocava um <input type="hidden" name="_method" value="put">
para obter o campo _method
no backend e saber se era pra criar/atualizar/deletar/obter.
Outra coisa, o grande motivo de usarmos algum tipo de Javascript ou Typescript, é pelo fato de podermos se comunicar com o backend sem necessariamente recarregar a pagina inteira novamente, pois as vezes queremos apenas atualizar uma informação pequena/simples. Ai começamos a entrar na questão de performance.
Nesse video de Flask eu acabo renderizando “miolos” - que seriam pedaços de código HTML - para incluirmos em alguma região do site.
Para fazer isso em javascript puro, você precisaria saber javascript se não fica complicado.
Por isso eu criei o cru.js.
Apenas para você incluir certas tags
no HTML que por de trás dos panos são mapeadas pela minha biblioteca e interagem com backend. Mas existem bibliotecas famosas que fazem a mesma coisa, como o HTMLX. Talvez vendo outros tutoriais de XHTML você entenda melhor isso e inclusive consiga usar o que eu fiz, pois é a mesma coisa praticamente. Eu só criei o cru.js do zero porque não queria aprender com o htmlx funciona kkk
Tenta revisar essa parte que você tá com dificuldade. Mesmo que não faça muito sentido na sua cabeça agora, confia que se você entender esse conceito você vai conseguir entender os próximos, pois eles são “similares”. Vários no inicio ficam confusos, mas praticando e tentando novamente eles começam a entender. Inclusive pode trazer suas dúvidas aqui ou no Discord (que a galera ajuda mais) que eu vou te ajudando.
Abraços espero ter ajudado!
Qualquer coisa pode comentar ai, tmj e bom final de ano