homework
2021/7/22 23:37:53
本文主要是介绍homework,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
2021最新ubuntu20.04LTS下mysql安装及flask访问
-
安装
- apt安装
sudo apt-get update sudo apt-get install -y mysql
- dpkg安装
访问mysql8的官网下载安装,根据安装指导进行即可。
sudo dpkg -i mysql-apt-config*
-
设置数据库安全性,根据需求填写,注意对于mysql8来说只有2类密码(数字,大写字母,小写字母,下划线,大于8位)才能通过Python/java,以非sudo权限用户访问到数据库
sudo mysql_secure_installation
- 下载mysql官方可视化管理工具mysql-workbench(类似于sqlserver的ssms)
访问mysql-workbench的官网,选择ubuntu-linux,选择ubuntu-linux 20.04,下载两个deb文件,其中带-dbgsym的文件的依赖是不带的,需要先安装mysql-workbench-community
sudo dpkg -i mysql-workbench-community_*
再安装mysql-workbench-community-dbgsym
sudo dpkg -i mysql-workbench-community-dbgsym*
- 如果出现Error 1045(28000):Access denied for user ‘root‘@‘localhost‘ (using password: YES),需要修改密码为2类密码(数字,大写字母,小写字母,下划线,大于8位)
sudo mysql #下面进入mysql> mysql> alter user 'root'@'localhost' identified with mysql_native_password by '新密码'; mysql> exit; #退出mysql后重启服务 sudo service mysql restart
- 执行你的sql语句
- 基于conda命令配置flask(由于pip安装可能会产生依赖冲突,推荐使用conda来规避。出于常规的前后端分离产品,推荐安装以下的依赖,其中name区域是自己的环境名称),conda切换清华源的操作可以参考清华源提供的使用说明
conda create -n name flask flask-login flask-sqlalchemy flask-wtf mysqlclient pymysql python=3.8 #或者在base环境或者需要使用的环境下执行 conda install -y flask flask-login flask-sqlalchemy flask-wtf mysqlclient pymysql
- 在项目目录下创建app.py文件,在项目目录下创建templates文件夹,里面放入html、css、js等文件,通过下面的代码即可实现在index.html文件插入超链接的结果,并放到服务器上(根据需要修改route和文件名即可,想要动态插入网页可以使用glob在index.html里传参)
from flask import Flask,render_template,send_from_directory app = Flask(__name__) @app.route('/') def index(): return render_template('index.htm') @app.route('/<path:filename>') def custom_static(filename): return send_from_directory(directory='templates/',filename=filename) app.run()
- 在项目目录下的终端运行即可在本地搭建服务器
flask run
- 在templates文件夹下创建test.html文件,写入下面的内容,假设数据库只有三列,第一列是id无用信息。{}中的内容是jinja,和python2语法几乎一样
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>test</title> <meta name="description" content="你的作品"> <meta name="author" content="你的名字"> </head> <body> {% for row in results %} {% for column in dct[i].items() %} <p style="text-align: left;"> {{column[1]}}:{{column[2]}<br> </p> {% endfor %} {% endfor %} </body> </html>
- 在app.py文件的app.run()之前添加下面的内容,即可实现访问数据库并传参
@app.route('/test.html') def sql(): import mysql db = pymysql.connect(host="127.0.0.1", user="root",password="改成你的密码",database="改成你的数据库",charset="utf8") cursor = db.cursor() sql="你的数据库查询语句" cursor.execute(sql) results = cursor.fetchall() db.close() return render_template('test.html',results=results)
这篇关于homework的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南