def index(): mensagens = Mensagem.recupera_todas() ## Insere opções no menu menu = [] ## Cada opção no menu é um dicionário menu.append({ 'active': True, # active informa se a opção está ativa, e se estiver, destaca ela na página 'href': '/', # href é o caminho que deve ser aberto pela opção 'texto': 'Página principal' }) # texto é o texto exibido no menu para a opção menu.append({ 'active': False, 'href': '/mensagem', 'texto': 'Escrever mensagem' }) ## Inserimos tudo que foi criado no dicionário context, ele será passado para a view context = { 'titulo': 'Página principal', 'menu': menu, 'mensagens': mensagens } return render_template('index.html', **context)
def enviarMensagem(request, destinatario): #procura o match no qual a mensagem deve ser inserida lista1 = request.user.user1.all() lista2 = request.user.user2.all() encontrado = False for match in lista1: if match.user2.username == destinatario: encontrado = True combinacao = match break if encontrado == False: for match in lista2: if match.user1.username == destinatario: combinacao = match encontrado = True break if request.method == 'POST': mensagem = request.POST.get('mensagem', '') #instancia a mensagem a ser enviada novamensagem = Mensagem() novamensagem.conteudo = mensagem novamensagem.sender = request.user.username novamensagem.match = combinacao novamensagem.save() listamensagens = combinacao.mensagens.all() else: listamensagens = combinacao.mensagens.all() for mensagem in listamensagens: if mensagem.vista == False: if mensagem.sender != request.user.username: print('entrou') mensagem.vista = True mensagem.save() return render(request, 'chat.html', {'listamensagens': listamensagens})
def mensagem(data): selection = data["selection"] nomeusuario = data["nomeusuario"] cor = data["cor"] canall = data["canal"] data_e_hora = datetime.now() dataHora = data_e_hora.strftime('%H:%M') mensagem = Mensagem(nomeusuario, cor, selection, dataHora) for canal in canais: if canal.nome == canall: canal.addMensagem(mensagem) emit("announce mensagem", { "selection": selection, "nomeusuario": nomeusuario, "cor": cor, "canal": canall, "dataHora": dataHora }, broadcast=True)
def index(): mensagens = Mensagem.recupera_todas() #################### ## Usamos o objeto retornado por bd() para realizar comandos sql # sql = '''select usuario, texto from mensagens order by id desc''' # cur = bd().execute(sql) # ## Montamos dicionário dicionários com os resultados da consulta para passar para a view # mensagens = [] # for usuario, texto in cur.fetchall(): # fetchall() gera uma lista com os resultados: # mensagens.append({'usuario': usuario, 'texto': texto}) ##################### ## Insere opções no menu menu = [] ## Cada opção no menu é um dicionário menu.append({ 'active': True, # active informa se a opção está ativa, e se estiver, destaca ela na página 'href': '/', # href é o caminho que deve ser aberto pela opção 'texto': 'Página principal' }) # texto é o texto exibido no menu para a opção menu.append({ 'active': False, 'href': '/mensagem', 'texto': 'Escrever mensagem' }) ## Inserimos tudo que foi criado no dicionário context, ele será passado para a view context = { 'titulo': 'Página principal', 'menu': menu, 'mensagens': mensagens } return render_template('index.html', **context)
def gravar_mensagem(): mensagem = Mensagem(request.form['usuario'], request.form['texto']) mensagem.gravar() return redirect('/')