个人小破网站从无到有的过程python-flask-mysql

最终界面

先看下效果,UI有些简陋,内容有些low,不过网站是从无到有了,功能目的会以后学习再修改!
个人小破网站从无到有的过程python-flask-mysql_第1张图片

服务器网站开发

python-flask框架很容易上手,导入模块,几行代码即可实现访问!如下图:

from flask import Flask
from flask import render_template
from flask_bootstrap import Bootstrap
import requests

app = Flask(__name__)
bootstrap = Bootstrap(app)

#定义一个函数,把它传递给前端
@app.route("/")
def index():
	return "hello world"
    #return render_template("MP_verify_hudUjStNrDX81rx1.txt")

app.run(host="0.0.0.0",port=3000, debug=True)

个人小破网站从无到有的过程python-flask-mysql_第2张图片

模板文件templates和静态文件static_folder

是flask放置页面模板的文件,前端页面都放到这里集中用render_template返给前端,注意flask页面模板格式 Flask Template ( 模板学习)
static文件存放静态文件,比如css,js,图片,文本等,用url_for嵌套在html模板中即可访问,static静态文件配置

pymysql访问数据库

这里就简单说下用户登录和注册,用户名和密码都放在MySQL里,每次登录都去核对一下。
首先需要两个html模板和两个访问路径,两个获取参数处理路径如下:
regist 注册模块





注册






login 登陆模板




"Content-Type" content="text/html; charset=utf-8" />


冥府登录系统






阴冥地府登录系统


    {% if  message %}

{{ message }}

{% endif %}

两个路径

#默认登陆
@app.route('/log')
def log():
    return render_template('log.html')

#默认路径访问注册页面
@app.route('/regist')
def regist():
    return render_template('regist.html')

两个参数处理(与mysql交互过程)

@app.route('/registuser', methods=["GET", "POST"])
def registuser():
#把用户名和密码注册到数据库中
    try:
        username = request.form['username']
        password = request.form['password']
        if not all([username,password]):
            abort(400)
        #连接数据库,此前在数据库中创建数据库TESTDB
        db = pymysql.connect("localhost","root","root","msql",3306 )
        # 使用cursor()方法获取操作游标 
        cursor = db.cursor()
        # SQL 插入语句
        sql = "INSERT INTO mtable(name, password) VALUES ('%s','%s')" % (username,password)
        try:
            # 执行sql语句
            cursor.execute(sql)
            # 提交到数据库执行
            db.commit()
             #注册成功之后跳转到登录页面
            return render_template('log.html') 
        except:
            #抛出错误信息
            traceback.print_exc()
            # 如果发生错误则回滚
            db.rollback()
            return '注册失败'
        # 关闭数据库连接
        db.close()
    except:
        abort(400)
 
@app.route('/login', methods=["GET", "POST"])
def getloginrequests():
    try:
        username = request.form['username']
        password = request.form['password']
        #查询用户名及密码是否匹配及存在
        #连接数据库,此前在数据库中创建数据库TESTDB
        db = pymysql.connect("localhost","root","root","msql",3306 )
        # 使用cursor()方法获取操作游标 
        cursor = db.cursor()
        # SQL 查询语句
        sql = "select * from mtable where name=%s"" and password=%s" % (username,password)
        
        try:
            # 执行sql语句
            cursor.execute(sql)
            results = cursor.fetchall()
            #print(len(results))
            if len(results)==1:
                return '登录成功'
            else:
                return '用户名或密码不正确'
            # 提交到数据库执行
            db.commit()
        except:
            # 如果发生错误则回滚
            db.rollback()
        # 关闭数据库连接
        db.close()
    except:
        abort(400)

我不多介绍,代码应该都能看懂。
参考文章:python3+flask+mysql实现登录注册
效果如下图:
个人小破网站从无到有的过程python-flask-mysql_第3张图片
个人小破网站从无到有的过程python-flask-mysql_第4张图片
我还搞了些纯CSS模板和js小游戏!还有一些我常用的第三方网站链接,来丰富网站!网站内容就不一一介绍了。
网站简单开发就此哔哔完毕!
但是通过ip地址访问总觉得不舒服,得正式点向访问京东淘宝一样,域名访问多高大上啊!下一步接着走!

域名解析

就是将域名指向服务器公网IP,我是在阿里云买的服务器,万网买的域名。在阿里云控制台直接可操作。
个人小破网站从无到有的过程python-flask-mysql_第5张图片登录域名控制台,找到购买域名解析。
个人小破网站从无到有的过程python-flask-mysql_第6张图片这个是我的,已经不是第一次解析了,第一次解析底下没有记录,不过不影响,添加记录。
个人小破网站从无到有的过程python-flask-mysql_第7张图片把搭建好网站的服务器公网IP填入记录值。点击确定。
绑定了域名短暂可以访问,但是一会就不行了,因为没有备案,服务器在国内的都必须备案才能正常访问,国家的要求就是这样,要么你就租国外的服务器,无需备案,但是国内访问速度就慢了,因为他会绕圈子。

备案

阿里云官方文档贴的备案流程
个人小破网站从无到有的过程python-flask-mysql_第8张图片
备案的时候一定要注意网站名一定要是中文!最高好自己提前想好几个名字,免得重复。

通过域名访问

当网站通过层层审核后大概10天,就可以通过域名访问了!

你可能感兴趣的:(python-flask,个人网站)