赞
踩
需要掌握Python的基本语法,数据库的基本语法,然后就是比较难得部分,需要掌握后端框架(例如:Flask、Django),前端开发的三剑客(HTML、CSS、JavaScript)的基础知识,然后就是最重要的部分,就是前后端分离时异步发送请求的方法(例如:xmlhtmlrequest、fetch),以及使用Python代码连接数据库的操作,这一部分是有点难理解的。
本文例子使用flask后端框架,使用fetch来进行异步处理请求,使用pymysql库来连接MySQL数据库。
需要安装好以下Python库。
- from flask import Flask, request, render_template, jsonify
- import pymysql
我们需要知道我们数据库的一些数据,如果你修改过,你需要去数据库中查询。
- # 连接数据库
- db_config ={
- 'host':'your_host', # 数据库主机地址
- 'user':'your_username', # 数据库用户名
- 'password':'your_password', # 数据库密码
- 'database':'your_database', # 数据库名称
- 'charset':'utf8mb4', # 字符集,根据实际需要修改
- 'cursorclass':pymysql.cursors.DictCursor # 返回字典形式的游标
- }
- def get_connection():
- return pymysql.connect(**db_config)
我写了一个简单的前端文件,将css和js代码都写到一个html文本里了,简单的加了一些配置。然后就是使用fetch来进行异步申请。xmlhtmlrequest是比较老的异步申请的方法,fetch是比较新的方法,因此选择了fetch来处理申请。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Data Entry</title>
- <style>
- body {
- font-family: Arial, sans-serif;
- margin: 20px;
- }
-
- input {
- padding: 8px;
- margin-right: 10px;
- }
-
- button {
- padding: 10px;
- cursor: pointer;
- }
-
- .modal {
- display: none;
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- padding: 20px;
- background-color: #fff;
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
- z-index: 1000;
- }
- </style>
- </head>
- <body>
-
- <h2>Data Entry</h2>
-
- <label for="name">Name:</label>
- <input type="text" id="name" placeholder="Enter name">
-
- <button onclick="addData()">Add Data</button>
-
- <!-- Modal for success message -->
- <div id="successModal" class="modal">
- <p>Data added successfully!</p>
- <button onclick="closeModal()">OK</button>
- </div>
-
- <script>
- function addData() {
- const name = document.getElementById('name').value;
-
- fetch('/api/add_data', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({ name }),
- })
- .then(response => response.json())
- .then(data => {
- if (data.success) {
- openModal();
- } else {
- alert(data.message);
- }
- })
- .catch(error => {
- console.error('Error:', error);
- alert('An error occurred. Please try again.');
- });
- }
-
- function openModal() {
- const modal = document.getElementById('successModal');
- modal.style.display = 'block';
- }
-
- function closeModal() {
- const modal = document.getElementById('successModal');
- modal.style.display = 'none';
- }
- </script>
-
- </body>
- </html>
首先需要实例化一个对象,然后需要创造与前端文件相对应的URL和请求方式(常见的请求方式有POST、GET方法,其他方法请自行了解,诶嘿)。我这个是从前端添加数据,将数据传输到后端,然后由后端再添加到数据库中,进行异常捕捉以及开启调试以便出现问题及时改正。
- app = Flask(__name__)
-
- @app.route('/') # 根路由
- def index():
- return render_template('BS.html')
-
- @app.route('/api/add_data', methods=['POST'])
- def add_data():
- try:
- data = request.json
- name = data.get('name')
-
- if name:
- # 插入数据到数据库
- with get_connection() as connection:
- with connection.cursor() as cursor:
- cursor.execute('INSERT INTO users (name) VALUES (%s)', (name,))
- connection.commit()
-
- return jsonify({'success': True, 'message': 'Data added successfully'})
- else:
- return jsonify({'success': False, 'message': 'Name is required'})
- except Exception as e:
- return jsonify({'success': False, 'message': str(e)})
-
- if __name__ == '__main__':
- app.run(debug=True)
我是在Pycharm专业版中执行程序,专业版可以自动创建flask项目,如果你用的是pycharm社区版也不要气馁。专业版只是帮忙自动创建了两个文件夹(static和templates)而已,社区版只需要手动创建这两个文件。然后就是将你的css、js文件等其他的存放在static文件夹里(社区版好像创建不了css和js文件,可以都写到html文件里,专业版可以写一起也可以不写一起),html文件放在templates文件夹里,你的flask.py文件需要跟这两个文件夹是同级的,这样程序执行时会自动去寻找资源。
下述图片就是启动成功的字样。
然后图片中的网址是可以点进去的,它是个默认网址,可以修改后面的端口号,一般不建议改,你这里修改了,前端文件里可能也需要修改。
下图就是我的界面,我的功能就是个简单的将名字添加到数据库里。
现在我的数据库里面是什么都没有的。
然后我在网页端输入了名字123后,就会添加到数据库中。
到现在就基本上大功告成了。然后你自己有什么需求就具体修改咯。
我是写了一个简单的例子,重点是前后端的分离操作和异步申请方式以及数据库的连接,数据库的连接还好一点,异步申请这一块是有点难搞的,需要细究一些。
祝愿我们在前进的道路上能够越来越优秀,加油哦ヾ(◍°∇°◍)ノ゙
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。