@app.route('/')
def index():context = {'questions': Question.query.order_by(text("-create_time")).all()}return render_template('index.html', **context)

需要从sqlalchemy导入text函数

from flask import Flask, render_template, request, redirect, url_for, session
from exts import db
from models import User, Question
from flask_migrate import Migrate
from functools import wraps
from decorators import login_required
import config
# 导入text函数
from sqlalchemy import text

参考
https://blog.csdn.net/vonhehe/article/details/95756567

app代码

from flask import Flask, render_template, request, redirect, url_for, session
from exts import db
from models import User, Question
from flask_migrate import Migrate
from functools import wraps
from decorators import login_required
import config
from sqlalchemy import textapp = Flask(__name__)
app.config.from_object(config)
db.init_app(app)
migrate = Migrate(app, db)@app.route('/')
def index():context = {'questions': Question.query.order_by(text("-create_time")).all()}return render_template('index.html', **context)@app.route('/login/', methods=['GET', 'POST'])
def login():if request.method == 'GET':return render_template('login.html')else:telephone = request.form.get('telephone')password = request.form.get('password')user = User.query.filter(User.telephone == telephone, User.password == password).first()if user:session['user_id'] = user.id# 如果想在31天内都不需要登录session.permanent = Truereturn redirect(url_for('index'))else:return '手机号或密码错误,请确认后再登录'@app.route('/logout/')
def logout():# session.pop('user_id')# del session['user_id']session.clear()return redirect(url_for('login'))@app.route('/question/', methods=['GET', 'POST'])
@login_required
def question():if request.method == 'GET':return render_template('question.html')else:title = request.form.get('title')content = request.form.get('content')question = Question(title=title, content=content)user_id = session.get('user_id')user = User.query.filter(User.id == user_id).first()question.author = userdb.session.add(question)db.session.commit()return redirect(url_for('index'))@app.route('/register/', methods=['GET', 'POST'])
def register():if request.method == 'GET':return render_template('register.html')else:telephone = request.form.get('telephone')username = request.form.get('username')password1 = request.form.get('password1')password2 = request.form.get('password2')# 验证手机号码,如果被注册,就不能注册了user = User.query.filter(User.telephone == telephone).first()if user:return '该手机号码已被注册,请更换手机号码'else:# password1 should equal password2if password1 != password2:return '两次密码不一致,请核对后再填写'else:user = User(telephone=telephone, username=username, password=password1 )db.session.add(user)db.session.commit()return redirect(url_for('login'))
@app.context_processor
def my_context_processor():user_id = session.get('user_id')if user_id:user = User.query.filter(User.id == user_id).first()if user:return {'user':user}else:return {}if __name__ == '__main__':app.run()

flask sqlalchemy按照创建时间逆向排序相关推荐

  1. python相机拍照显示时间_python让图片按照exif信息里的创建时间进行排序的方法...

    本文实例讲述了python让图片按照exif信息里的创建时间进行排序的方法.分享给大家供大家参考.具体分析如下: 我们经常会从不同的设备里取出照片,比如照相机,手机,iphone等等,操作系统记录的创 ...

  2. 若依框架客户管理按照创建时间字段排序报错解决方法

    问题分析 使用若依自带生成代码客户管理查询,按照创建时间开启排序报错 但是用户管理下排序字段可以正常排序 后来找到原因若依封装了分页和排序,调用startPage()方法会开启分页排序,仔细发现 若依 ...

  3. python大文件排序_python实现按创建时间对文件排序

    测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log ...

  4. flask sqlalchemy一对多关系详解

    下面的一对多关系以作者和文章为例: 首先创建一个文章表: class Post(db.Model): id = db.Column(db.Integer(),primary_key=True) tit ...

  5. python学习之flask sqlalchemy介绍和使用 表操作增删查改

    flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...

  6. python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间、内存使用量、内存占用率、PID、名称、创建时间等;

    python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间.内存使用量.内存占用率.PID.名称.创建时间等: psutil模块可以跨平台使用,支持Linux/ ...

  7. 【Flask】flask入门以及第一个flask项目的创建

    一.Flask介绍 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三 ...

  8. alchemy php,Flask SQLAlchemy

    在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味. 相反,Python工具包SQLAlchemy是一个功能强大的OR映射器,为应用程序开发人员提供了SQL的全部功能和灵活 ...

  9. js时间-价格-排序案例____冒泡排序实例

    js 时间-价格-排序,静态页面排序案例 冒泡排序实例 在项目中用到的一个例子,分享一下. var sort = { sortdata : '',      //排序之前必须先填充原始数据 //来源我 ...

  10. 对List集合中每个对象元素按时间顺序排序

    首先创建一个实体类 package com.huawei.Test;import java.util.Date;/*** @author h84250472* @title: User$* @desc ...

最新文章

  1. Laravel学习笔记(二)
  2. 面向对象网络编程基础 property的使用
  3. 在SIMULINK实现各类优化类算法的仿真——粒子群算法、细菌觅食、
  4. 技术人的灵魂 3 问,阿里工程师如何解答?
  5. spring boot:创建一个简单的web(maven web project)
  6. 数据结构与算法-链表
  7. html中加入js,html嵌入js
  8. Mac上最好的Markdown文本编辑器_编辑工具
  9. Git是目前世界上最先进的分布式版本控制系统(没有之一)。
  10. LeetCode Week 6:第 51 ~ 55 题
  11. 通达信众赢全部破解指标(完美无错源码副图)
  12. php git pull
  13. POJ-1087 A Plug for UNIX 网络流
  14. 雅礼集训Day3-难题选讲
  15. 关于浮动-float
  16. 蜗牛学院:程序员最值得看的12部电影
  17. MacOS Monterey 12.3.1(21E258) OC 0.7.9 / Cl 5145 / PE 三分区原版黑苹果镜像
  18. PCIE协议(原版) 免费分享
  19. 通过qq进行ip定位
  20. Caused by: org.greenrobot.eventbus.EventBusException: Subscriber class com.xxx.app.ui.activity

热门文章

  1. 癌症病人不让吃鸡蛋,癌症病人营养要如何补充?
  2. 什么是电感器与电感?
  3. 马化腾的马氏建议:“小步快跑 快速迭代”
  4. NVIDIA GPU 运算能力列表
  5. 程序员工资待遇,投票!
  6. 【系统分析师】2022选择题上午考点
  7. 服务器上发布的网站应用80端口时内网可以访问,外网不能访问
  8. 白云市场高仿包值不值得买?
  9. 矩阵的符号用计算机怎么打,在Word文档中怎么打出矩阵的符号?
  10. php文字转语音amr,Android插件,TTS语音合成(文字转化语音)。