一、个人学期总结
在本学期中我学习了管理信息系统这门课程,并实现了基于Python的Flask框架web建设项目,Python,是一种面向对象的解释型计算机程序语言。学期初始,我们学习了Python的基础语法,输入、输出、交互、数字计算的方法、字符串基本操作、凯撒密码、自制九九乘法表、中英文词频统计等,还学习了import turtle库,并利用这个库绘制出多种多样的图形,提升了我们对编程语言的思维能力,为构建Flask框架制作网页的学习打下基础。期中之后,我们更加深入学习这门课程,了解代码原理,开始网页的制作,然后开始使用标签制作HTML页面内容,以及美化网页,添加网页其他功能等。
这一个学期项目建设的学习使我受益匪浅,在老师的悉心教导下,不仅让我全面的、系统的学会了页设计与制作的基础知识,还让我学会了自己动手去制作属于自己的网页,由于本人的技术还不是很成熟,还存在很多的不足地方,在今后的课余时间,我会继续认真学习网页制作的更多知识以实现自身技能的提高。
二、总结Python+Flask+MysqL的web建设技术过程
首先,利用PyCharm创建一个Flask之后,我们就开始创建python文件,首先一个以网页展示作为前端的管理信息系统需要做到前端与后端Mysql数据库之间的交互,则肯定需要进行连接数据库的操作,此时我们创建了名为config的数据库连接配置的py文件实现与Mysql数据库之间的连接。
1、第三方库导入
from flask import Flask,render_template,request,redirect,url_for,session from flask_sqlalchemy import SQLAlchemy from datetime import datetime from functools import wraps from sqlalchemy import or_ from werkzeug.security import generate_password_hash,check_password_hash
import config app = Flask(__name__) app.config.from_object(config) db = SQLAlchemy(app)
2、config的重要代码为:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:@127.0.0.1:3306/mis_db?charset=utf8' SQLALCHEMY_TRACK_MODIFICATIONS = False
3、在实现与数据库之间的连接之后,我们创建py文件开始创建数据表
(1)user表里存放用户的id,用户名跟密码。
(2)question表里存放用户的id、title(标题)、detail(详情)、create_time(创建时间)、author_id(文章作者的用户id)。
(3)comment表里存放id、author_id(评论用户的id)、question_id(文章的id)、create_time(创建时间)和detail(详情)。
class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer,primary_key=True,autoincrement=True) username = db.Column(db.String(20),nullable=False) _password = db.Column(db.String(200), nullable=False)#内部使用 @property def password(self): return self._password @password.setter def password(self,row_password): self._password = generate_password_hash(row_password) def check_password(self,row_password): result = check_password_hash(self._password,row_password) return result class Question(db.Model): __tablename__='question' 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) creat_time=db.Column(db.DateTime,default=datetime.now) author_id = db.Column(db.Integer,db.ForeignKey('user.id')) author=db.relationship('User',backref=db.backref('question')) class Comment(db.Model): __tablename__ = 'comment' id = db.Column(db.Integer, primary_key=True, autoincrement=True) author_id = db.Column(db.Integer, db.ForeignKey('user.id')) question_id = db.Column(db.Integer, db.ForeignKey('question.id')) detail = db.Column(db.Text, nullable=False) create_time = db.Column(db.DateTime, default=datetime.now) question = db.relationship('Question', backref=db.backref('comments',order_by=create_time.desc)) author = db.relationship('User', backref=db.backref('comments'))
user表
question表
comment表
具体建设过程如下:
一、导航,头部,CSS基础
1、制作自己的导航条。
2、HTML头部元素:
(1)
(2)