博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布功能完成
阅读量:5839 次
发布时间:2019-06-18

本文共 1966 字,大约阅读时间需要 6 分钟。

  • 编写要求登录的装饰器

from functools import wraps

def loginFirst(func): #参数是函数

@wraps(func)

      def wrapper(*args, ** kwargs): #定义个函数将其返回

1 def loginFirst(func): 2     # 定义一个函数将其返回 3     @wraps(func) 4     def wrapper(*args,**kwargs): 5         if session.get('title'): 6             return func(*args, **kwargs) 7         else: 8             return redirect(url_for('login')) 9     # 返回一个函数10     return wrapper

 

 

          #要求登录

          return func(*args, ** kwargs)

      return wrapper #返回一个函数

  • 应用装饰器,要求在发布前进行登录,登录后可发布。
@app.route('/question/',methods=['GET','POST']) @loginFirst def question():
1 #发布问答 2 @app.route('/question' , methods=['GET','POST']) 3 @loginFirst 4 def question(): 5     if request.method == 'GET': 6         return render_template('question.html') 7     else: 8         book_title = request.form.get('title') 9         book_content = request.form.get('content')10         user_id = request.form.get('user_id')11         book = Book(id='1', title=book_title, content=book_content, author_id=user_id)12         db.session.add(book)  # 加入数据库13         db.session.commit()14         return  redirect(url_for('index'))

 

 

  • 建立发布内容的对象关系映射。
class Question(db.Model):
  • 完成发布函数。
1 class Question(db.Model): 2     __tablname__ = 'question' 3     id = db.Column(db.String(17), primary_key=True)  # 数据库唯识别id 4     title = db.Column(db.String(30)) #文章标题 5     abstracts = db.Column(db.String(30)) #文章摘要 6     content = db.Column(db.TEXT) #文章内容 7     createdate = db.Column(db.DATETIME) #发布时间 8     author_id = db.Column(db.String(17),db.ForeignKey('user.id')) #发布者id 9     size = db.Column(db.String(30)) #文章长度10     chilk = db.Column(db.String(30)) #阅读数11     disc = db.Column(db.String(30))12     classification = db.Column(db.String(17),db.ForeignKey('classification.id')) #文章分类id13     authorClass = db.relationship('User',backref=db.backref('book'))14     classificationClass = db.relationship('Classification',backref=db.backref('book'))

转载于:https://www.cnblogs.com/lianghaohui123/p/7912534.html

你可能感兴趣的文章
CITRIX XenAPP/TS打印管理ThinPrint.
查看>>
杨辉三角绘图C语言
查看>>
SQL Server以Online模式创建索引
查看>>
微软开放 .NET 框架源代码
查看>>
Win2008 R2 VDI动手实验系列之五:配置远程桌面Web访问
查看>>
Jira迁移及内存调整
查看>>
Exchange Server 2010 SP2 新功能简述
查看>>
使用wxWidgets for C++从资源文件中静态装载图像
查看>>
提高数据库安全性的办法
查看>>
工作流编程循序渐进(8:状态机工作流)
查看>>
3.VMware View 4.6安装与部署-connection server(View Standard Server)
查看>>
Lync Server 2013 实战系列之六:标准版-安装和更新LyncServer 系统
查看>>
MariaDB日志审计 帮你揪出内个干坏事儿的小子
查看>>
Reporting Services目录临时数据库文件存在
查看>>
一个Windows Mobile, Windows Embedded CE工程师的找工经历(一)
查看>>
终于有了MSDN上的Blog
查看>>
PHPUnit学习03---使用Mock对象解决测试依赖
查看>>
java类型与Hadoop类型之间的转换
查看>>
允许SQL Server 2005远程连接
查看>>
微软为asp.net ajax和jquery创建了CDN
查看>>