管理信息系统课程设计007王俊祺

{%blockdaohangtitle%}注册{%endblock%}

{%blockdaohanghead%}

{%endblock%}

{%blockdaohangbody%}

Username:

Nickname:

Password:

Lnputagain:


</p><p>{%blockdaohangtitle%}首页{%endblock%}</p><p>

{%blockdaohanghead%}{%endblock%}

{%ifsessionusername%}

onclick="">{{sessionusername}}

注销

{%else%}

注册

{%endif%}

{%ifsessionuserid%}

设置

  • 名称


    推荐作者

    {%forfooinauthor%}

    {%endfor%}

    {%forfooinydfabu%}

    浏览:{{foo.yuedu}}

    {%forfooinfabus%}

    {%iffoo.author.imgisnone%}

    style="width:50px">

    class="glyphiconglyphicon-user">{{foo.author.nickname}}

    {{foo.creat_time}}

    {{foo.leixing}}

    {{foo.dianzangs|length}}

    {{foo.comments|length}}

    {{foo.yuedu}}


    {#

    {{foo.detail|safe}}

    #}

    {%blockdaohangtitle%}登陆{%endblock%}

    {%blockdaohangtitle%}发布{%endblock%}

    标题

    详情

    {##}

    请选择类型

    散文

    诗歌

    科普

    历史

    电影

    人文

    小说

    摄影

    旅行

    文化


    {%blockdaohangtitle%}发布详情{%endblock%}

    {#.list-unstyledimg{#}

    {#height:50px;#}

    {#width:50px;#}

    {#}#}

    {{fa.author.username}}

    {{fa.creat_time}}

    浏览:{{fa.yuedu}}

    点赞:{{fa.dianzangs|length}}

    {{fa.detail|safe}}

    {%ifdzyes%}

    class="glyphiconglyphicon-heart">{{fa.dianzangs|length}}

    class="glyphiconglyphicon-heart-empty">赞

    {%ifyes%}

    已收藏

    +收藏

    {#

    发送

    {%forfooinfa.comments%}

    class="glyphiconglyphicon-fire">{{foo.author.username}}

    {{foo.creat_time}}

    {{foo.detail|safe}}

    (1)个人信息:

    {%extends'yonghufather.html'%}

    {%blockyonghubody%}

    个人信息

    用户:{{username}}

    编号:{{userid}}

    昵称:{{nickname}}

    头像:

    {%ifimgisnone%}

    style="width:100px">

    上传头像

    (2)发布信息:

    全部发布信息({{fabus|length}})

    {{foo.creat_time}}

    {{foo.leixing}}

    {%forfooincomments%}

    作者

    {%forfooinshoucang%}

    (5)修改密码:

    {%blockdaohangtitle%}密码修改{%endblock%}

    密码修改

    用户账号

    value="{{users.username}}"readonly>

    新密码

    required>

    确定

    五、系统实现详解:

    fromflaskimportFlask,render_template,request,redirect,url_for,session

    fromflask_sqlalchemyimportSQLAlchemy

    importconfig,os

    fromfunctoolsimportwraps

    fromdatetimeimportdatetime

    fromsqlalchemyimportor_,and_

    fromwerkzeug.securityimportgenerate_password_hash,check_password_hash

    app=Flask(__name__)#创建Flask对象

    app.config.from_object(config)#关联config.py文件进来

    db=SQLAlchemy(app)#建立和数据库的关系映射

    classUser(db.Model):#创建类User

    __tablename__='user'#类对应的表名user

    id=db.Column(db.Integer,primary_key=True,autoincrement=True)#autoincrement自增长

    username=db.Column(db.String(20),nullable=False)#nullable是否为空

    _password=db.Column(db.String(200),nullable=False)#密码加密内部使用

    nickname=db.Column(db.String(20),nullable=True)

    img=db.Column(db.String(100))

    @property#定义函数,需要用属性时可以用函数代替

    defpassword(self):#密码加密外部使用

    returnself._password

    @password.setter

    defpassword(self,row_password):#密码进来时进行加密,generate_password_hash是一个密码加盐哈希函数,生成的哈希值可通过check_password_hash()进行验证。

    self._password=generate_password_hash(row_password)

    defcheck_password(self,row_password):#check_password_hash函数用于验证经过generate_password_hash哈希的密码。若密码匹配,则返回真,否则返回假。

    result=check_password_hash(self._password,row_password)

    returnresult

    classFabu(db.Model):#问答

    __tablename__='fabu'

    id=db.Column(db.Integer,primary_key=True,autoincrement=True)

    title=db.Column(db.String(100),nullable=False)

    detail=db.Column(db.Text,nullable=False)

    leixing=db.Column(db.String(20),nullable=True)

    author_id=db.Column(db.Integer,db.ForeignKey('user.id'))#数据类型是db.Integer,db.ForeignKey参数指定外键是哪个表中哪个id

    #第一个参数表明这个关系的另一端是哪个类,第二个参数backref,将向User类中添加一个fabu属性,从而定义反向关系,这一属性可访问Fabu类,获取的是模型对象

    yuedu=db.Column(db.Integer,nullable=False)

    classShoucang(db.Model):#收藏

    __tablename__='shoucang'

    author_id=db.Column(db.Integer,db.ForeignKey('user.id'))

    fabu_id=db.Column(db.Integer,db.ForeignKey('fabu.id'))

    fabu=db.relationship('Fabu',backref=db.backref('shoucangs'))

    author=db.relationship('User',backref=db.backref('shoucangs'))

    classDianzang(db.Model):#点赞

    __tablename__='dianzang'

    fabu=db.relationship('Fabu',backref=db.backref('dianzangs'))

    author=db.relationship('User',backref=db.backref('dianzangs'))

    db.create_all()#测试是否连接成功

    '''

    #插入功能

    user=User(username='15',password='12')

    db.session.add(user)

    db.session.commit()

    #查询功能

    user=User.query.filter(User.username=="15").first()

    print(user.username,user.password)

    #修改功能

    user.password='888'

    #删除功能

    db.session.delete(user)

    #session会话连接

    #filter()过滤器

    #route制定路径和函数之间的关系

    #def定义一个变量

    #跳转首页。

    @app.route('/')

    defdaohang():

    context={

    'fabus':Fabu.query.order_by('-creat_time').all(),

    'author':User.query.all(),

    }

    returnrender_template('daohang.html',**context)

    #跳转测试。

    @app.route('/lin/')

    deflin():

    return'lin'

    #跳转登陆。

    @app.route('/denglu/',methods=['GET','POST'])#methods定义它有两种请求方式

    defdenglu():

    ifrequest.method=='GET':

    returnrender_template('denglu.html')

    else:

    username=request.form.get('user')#post请求模式,安排对象接收数据

    password=request.form.get('pass')

    user=User.query.filter(User.username==username).first()#作查询,并判断

    ifuser:#判断用户名

    ifuser.check_password(password):#判断密码

    session['user']=username#利用session添加传回来的值username

    session['user_id']=user.id

    returnredirect(url_for('daohang'))

    returnu'用户密码错误'

    returnu'用户不存在,请先注册'

    #跳转密码修改页。

    @app.route('/password_update/')

    defpassword_update(user_id):

    users=User.query.filter(User.id==user_id).first()#查询出要修改密码的该用户

    returnrender_template('password_update.html',users=users)

    #跳转修改密码后接受数据。

    @app.route('/password_update1/',methods=['POST'])

    defpassword_update1():

    username=request.form.get('username')#接收username的值,知道要修改的是哪个用户

    password=request.form.get('password')

    users=User.query.filter(User.username==username).first()#查询出要修改用户的整条信息

    users.password=password#执行修改

    returnredirect(url_for('yonghu',username_id=users.id,tag='1'))

    @app.context_processor#上下文处理器,定义变量然后在所有模板中都可以调用,类似idea中的model

    defmycontext():

    user=session.get('user')

    user_id=session.get('user_id')

    ifuser:

    return{'sessionusername':user,'sessionuserid':user_id}#包装到username,在所有html模板中可调用

    return{}#返回空字典,因为返回结果必须是dict

    #跳转注销。

    @app.route('/logout')

    deflogout():

    session.clear()#注销时删除所有session

    #跳转注册。

    @app.route('/zhuce/',methods=['GET','POST'])#methods定义它有两种请求方式,因为它在表单的请求是post,类似我们在idea中的sava请求模式

    defzhuce():

    returnrender_template('zhuce.html')

    nickname=request.form.get('nickname')

    returnu'该用户已存在'

    user=User(username=username,password=password,nickname=nickname)#将对象接收的数据赋到User类中,即存到数据库

    db.session.add(user)#执行操作

    returnredirect(url_for('denglu'))#redirect重定向

    defloginFirst(fabu):

    @wraps(fabu)#加上wraps,它可以保留原有函数的__name__,docstring

    defwrapper(*args,**kwargs):#定义wrapper函数将其返回,用*args,**kwargs把原函数的参数进行传递

    ifsession.get('user'):#只有经过登陆,session才能记住并get到值

    returnfabu(*args,**kwargs)

    returnredirect(url_for('denglu'))

    returnwrapper

    #跳转图片。

    @app.route('/tupian/')

    deftupian():

    returnrender_template('tupian.html')

    #跳转发布。

    @app.route('/fabu/',methods=['GET','POST'])#methods定义它有两种请求方式

    @loginFirst#将decorator定义的增强函数放在待增强函数定义的上面

    deffabu():

    returnrender_template('fabu.html')

    title=request.form.get('title')#post请求模式,安排对象接收数据

    detail=request.form.get('detail')

    leixing=request.form.get('leixing')

    yuedu=0

    author_id=User.query.filter(

    User.username==session.get('user')).first().id#将sessionget到的user进行查询并取出id放到外键author_id中

    fabu=Fabu(title=title,detail=detail,author_id=author_id,leixing=leixing,

    yuedu=yuedu)#将对象接收的数据赋到Fabu类中,即存到数据库

    db.session.add(fabu)#执行操作

    db.session.commit()#提交到数据库

    returnredirect(url_for('daohang'))#redirect重定向

    #跳转发布详情

    @app.route('/fabuview/')#和idea的update一样,将id带到控制器

    deffabuview(fabu_id):

    yes=Shoucang.query.filter(#yes用在用户详情页判断是否已收藏的按钮

    and_(

    Shoucang.author_id==session.get('user_id'),Shoucang.fabu_id==fabu_id

    )

    ).first()

    dzyes=Dianzang.query.filter(#dzyes用在用户详情页判断是否已点赞的按钮

    Dianzang.author_id==session.get('user_id'),Dianzang.fabu_id==fabu_id

    fa=Fabu.query.filter(Fabu.id==fabu_id).first()#根据主页带回来的id查询出整条元组记录,丢进fa

    fa.yuedu=fa.yuedu+1#定义浏览功能,每次进去详情页,浏览次数加1

    returnrender_template('fabuview.html',fa=fa,comments=comments,yes=yes,

    dzyes=dzyes)#把值fa丢进键fa,在fabuview.html页面调用

    #方法二:

    #fabu={

    #'fa':Fabu.query.filter(Fabu.id==fabu_id).first()

    #}

    #returnrender_template('fabuview.html',**fabu)

    @app.route('/comment/',methods=['POST'])

    defcomment():

    detail=request.form.get('pinglun')#post请求模式,安排对象接收数据

    author_id=User.query.filter(User.username==session.get('user')).first().id

    fabu_id=request.form.get('fa_id')

    comment=Comment(detail=detail,author_id=author_id,fabu_id=fabu_id)#将对象接收的数据赋到Comment类中,即存到数据库

    db.session.add(comment)#执行操作

    returnredirect(url_for('fabuview',fabu_id=fabu_id))#重定向到fabuview请求时要带fabu_id

    #跳转用户详情

    @app.route('/yonghu//')#为了把页面分开,我们在html页面传了一个tag参数

    defyonghu(username_id,tag):

    user=User.query.filter(User.id==username_id).first()

    shoucang=Shoucang.query.filter(Shoucang.author_id==username_id).all()

    'userid':user.id,

    'username':user.username,

    'nickname':user.nickname,

    'fabus':user.fabu,

    'comments':user.comments,

    'shoucang':shoucang,

    'img':user.img

    }#根据tag的不同去到不同页面,一个请求跳转3个不同页面

    iftag=='1':

    returnrender_template('yonghu1.html',**context)

    eliftag=='2':

    returnrender_template('yonghu2.html',**context)

    eliftag=='3':

    returnrender_template('yonghu3.html',**context)

    returnrender_template('yonghu4.html',**context)

    #@app.route('/yonghu2/')

    #defyonghu2(username_id):

    #user=User.query.filter(User.id==username_id).first()

    #context={

    #'userid':user.id,

    #'username':user.username,

    #'fabus':user.fabu,

    #'comments':user.comments

    #returnrender_template('yonghu2.html',**context)

    #

    #@app.route('/yonghu3/')

    #defyonghu3(username_id):

    #returnrender_template('yonghu3.html',**context)

    #跳转首页搜索

    @app.route('/search/')

    defsearch():

    sousuo=request.args.get('sousuo')#args获取关键字,区别form

    author=User.query.all()

    ydfabu=Fabu.query.filter(Fabu.yuedu>5).all()

    fabus=Fabu.query.filter(

    or_(#两种查询条件

    Fabu.title.contains(sousuo),#contains模糊查

    Fabu.detail.contains(sousuo)

    ).order_by('-creat_time')

    returnrender_template('daohang.html',fabus=fabus,author=author,ydfabu=ydfabu)#fabus要和原首页数据模型一样

    #跳转高级分类查询

    @app.route('/fenlei/')

    deffenlei():

    fenlei=request.args.get('fenlei')#args获取关键字,区别form

    fenlei_fabus=Fabu.query.filter(

    Fabu.title.contains(fenlei),#contains模糊查

    Fabu.leixing.contains(fenlei),

    Fabu.creat_time.contains(fenlei)

    returnrender_template('daohang.html',fabus=fenlei_fabus,author=author,ydfabu=ydfabu)#fabus要和原首页数据模型一样

    @app.route('/shoucang/',methods=['POST'])

    @loginFirst

    defshoucang():

    scfabu_id=request.form.get('scfabu_id')

    scuser_id=request.form.get('scuser_id')

    shoucang=Shoucang(fabu_id=scfabu_id,author_id=scuser_id)

    db.session.add(shoucang)#执行操作

    returnredirect(url_for('fabuview',fabu_id=scfabu_id))

    @app.route('/dianzang/',methods=['POST'])

    defdianzang():

    dzfabu_id=request.form.get('dzfabu_id')

    dzuser_id=request.form.get('dzuser_id')

    dianzang=Dianzang(fabu_id=dzfabu_id,author_id=dzuser_id)

    db.session.add(dianzang)#执行操作

    returnredirect(url_for('fabuview',fabu_id=dzfabu_id))

    #上传头像

    @app.route('/uploadLogo/',methods=['GET','POST'])

    defuploadLogo(user_id):

    user=User.query.filter(User.id==user_id).first()

    f=request.files['logo']

    basepath=os.path.dirname(__file__)#当前文件所在路径

    upload_path=os.path.join(basepath,'static/img',f.filename)#注意:没有的文件夹一定要先创建,不然会提示没有该路径

    f.save(upload_path)

    user.img='img/'+f.filename

    returnredirect(url_for('yonghu',username_id=user_id,tag=1))

    THE END
    1.信息管理系统的设计与实现.doc信息管理系统的设计与实现.doc,PAGE II 摘要 本系统可以减少教师不必要的劳动和重复性工作,方便学院对本科生毕业设计的管理,方便学生快捷的了解毕业设计要求和下载相关表格,提高学校和导师对学生毕业设计的管理与指导具有一定的实用价值。 毕业设计信息管理系统能很好对https://m.book118.com/html/2021/0722/6055242211003215.shtm
    2.管理系统界面图片管理系统界面设计素材红动中国素材网提供161个管理系统界面图片、管理系统界面素材、管理系统界面背景、管理系统界面模板、管理系统界面海报等PS素材下载,包含PSD、AI、PNG、JPG、CDR等格式源文件素材,更多精品管理系统界面设计素材下载,就来红动中国,最后更新于2023-02-10 11:05:43。https://so.redocn.com/guanli/b9dcc0edcfb5cdb3bde7c3e6.htm
    3.管理系统界面设计素材网站图片免费下载共有1273260个管理系统界面设计相关内容为您呈现 管理系统ui界面设计 易扬视觉设计 后台管理系统界面设计 1 LtrMaho 后台管理系统-界面设计 2 浚达JD Acerrows 安知红豆 UI/UX | AB客(智能外贸管理系统界面设计/交互设计) 4 ALLIKOW_Yao 手表后台管理系统界面设计 ...https://www.zcool.com.cn/tag/ZMzUzMDIw.html
    4.一个后台管理系统的设计与思考异步路由:需要确定当前用户有权限访问才加载的路由,比如商品管理页面则需要运营的权限才加载该路由 如果是采用该前端权限方案,则路由表里面的路由记录需要被标记成需要什么样的权限才能访问该路由(我们这里就由是否有相应的权限来决定是否加载该路由就好了,不用角色来决定),该信息存放在路由元信息里面,也就是路由对象的...https://www.jianshu.com/p/e57bfc5cc5bf
    1.本科毕业论文(设计)管理系统当前专业: (学生) 注销警告 未登录或登录信息过期 确定 https://bysj.cqu.edu.cn/student/viewSelectThesis.htm?id=4a4a85113408c96301340ec12b4906d5
    2.管理系统设计思路(精选8篇)篇1:管理系统设计思路 超市收银系统设计分析 一、系统整体架构 图1 从图1可以看出,系统框架很清晰,用户登录,根据用户权限的不同,对应不同的操作方法,操作对象为商品。 但本系统要求使用C/S框架结构来设计。C/S框架介绍: C/S 结构,即大家熟知的客户机和服务器结构。 https://www.360wenmi.com/f/filee6j2ekhh.html
    3.课程管理系统系统设计课程管理系统系统设计 1 体系结构设计 1.1 功能结构图 图表1 功能模块设计 1.2 架构设计 1、用户界面层 用户界面层是系统与用户之间的接口,使用Web应用作为用户界面,学生可以通过浏览器访问系统。它负责接收用户的输入,显示系统的输出,并与其他层次进行通信。https://blog.csdn.net/Kong08242022/article/details/140639649
    4.管理系统设计报告8篇(全文)教学管理系统设计报告 学院:商学院 班级:信管11-5 学号:201108071171 姓名:周丽 1.系统总体设计方案 教学管理系统是基于学院局域网的一个C/S系统,后台数据库使用学院服务器中的SQL Server2000,前端应用程序是由VB开发的窗口界面应用程序。整个系统的具体设计方案如下所述。 https://www.99xueshu.com/w/filef9ldlroq.html
    5.项目管理系统设计方案项目管理系统设计方案详解在项目管理领域,一个高效的管理系统是确保项目顺利进行、提升工作效率和减少资源浪费的关键。本文将深入探讨项目管理系统设计方案,以期为软考相关从业者提供有价值的参考。 一、系统设计的目标与原则 项目管理系统的设计旨在通过信息技术手段,实现项目计划、进度、资源、成本、风险等多方面的综合管理。设计时需遵循以下原则...https://blog.51cto.com/u_13633024/11454988
    6.管理系统设计论文无论在学习或是工作中,大家总少不了接触论文吧,论文是指进行各个学术领域的研究和描述学术研究成果的文章。那么,怎么去写论文呢?下面是小编为大家整理的管理系统设计论文,仅供参考,大家一起来看看吧。管理系统https://www.yjbys.com/biyelunwen/fanwen/guanli/732322.html
    7.后台管理系统界面设计后台管理系统界面图片觅知网为您找到4405个原创后台管理系统界面设计素材,包括后台管理系统界面样式,后台管理系统界面图片,后台管理系统界面样本,后台管理系统界面格式下载服务,更多关于后台管理系统界面模板就来觅知网。https://www.51miz.com/so-sucai/4536183.html
    8.浅谈电动自行车智能充电管理系统的设计及应用笔者根据电动自行车充电集中、无人值守、环境复杂等的要求,提出了具备充电电压/流、有功功率、短路保护、自动断电等功能的智能充电管理系统设计,并介绍了系统的结构和工作原理。研究了铅酸蓄电池三种充电模式的自适应技术,根据有功功率数据分析判断实现充电管理的自动起停,并结合电池性能参数进行火灾报警信号的输出。经过实...https://blog.11467.com/b2022179.htm
    9.SpringBoot+Vue学生管理系统源码(包含数据库文件)BS1077-基于java+JSP+mysql开发实现高校学生学籍管理系统 java 本高校学生学籍管理系统设计与实现,系统主要采用java,springMVC,mybatis,mysql数据库,JSP页面开发技术,针对高校内部的学生,教师,班级,课程,学生学籍,学生成绩等数据采用关系数据库mysql进行存储分析,系统主要通过前后端开发技术整合,搭建综合性的大学生学籍管理...https://cloud.tencent.com/developer/article/2071193
    10....中心关于面向社会公开征集2014年度环境保护部行政审批管理系统...1、系统设计 环境保护行政审批管理系统同时要面向企事业单位提供信息填报、查询窗口,面向社会公众进行信息公开。在系统的应用功能方面,需要在原有建设项目管理系统的基础上,进行流程节点的延伸,形成闭环的审批管理模式,使之适应环境保护部所有行政审批事务。因此,对网络环境、应用部署、数据资源等各方面提出了新的要求。 https://www.mee.gov.cn/xxgk/zfcg/zbxx/201811/t20181129_675782.shtml
    11.30个漂亮的后台管理系统界面设计摹客超级版会员(价值1250元)解锁摹客协作、摹客RP、摹客DT所有功能。公众号主页发送 “激活” 免费获取 激活码 ↓↓↓公众号主页发送 “字体” 获取 全套可商用字体包...↓↓↓ 公众号主页发送 “vi” 获取 500个著名品牌vi设计手册...12下一页0 标签:后台界面管理系统界面...https://www.sj33.cn/digital/wysj/202012/55462.html
    12.用友erp管理系统界面设计5篇用友ERP管理系统设计了友好的弹窗提示和反馈机制,为用户提供清晰明了的操作指引和反馈信息。当用户执行某项操作时,系统会根据操作结果弹出相应的提示框,告知用户操作成功或失败的具体原因。 举例来说,当用户提交表单时,如果存在必填项未填写或格式错误,系统会弹出相应的提示框指引用户进行修正,避免信息填写不完整产生的错...https://hsy.chanjet.com/wenku/wkd483a4d9e744.html