html 输入信息添加到数据库,python - 我使用python在html中创建了一个表,我想将这些输入表值添加到sql数据库中 - 堆栈内存溢出...

这种方法行不通,因为您试图在服务器端构建页面,然后期望输入客户端,然后再做一些服务器端工作来构建页面。 但是(而且我自己也不是专家,所以我希望得到一些纠正),一旦您构建了页面服务器端并将其发送给客户端,您就需要在客户端上使用某种形式的JavaScript来获取更多信息。从服务器(AJAX是常见的方式)。

如果您可以使用“ submit按钮将用户带到另一个页面来查看结果,则不需要Java脚本。 我会像这样构造您要尝试执行的操作(请记住,我现在无法对此进行测试,因此您必须对其进行调试):

在文件form.html :

Personal information:

Last name:

First name:

MidtermGrade:

FinalGrade:

FirstHW:

SecondHW:

ThirdHW:

请注意,我在表单中填写了action和method属性。 这是纯HTML。 提交表单后,用户将被重定向到get_results.py ,后者必须读取表单附加到页面请求的POST信息。

就像是:

在文件get_results.html :

import cgi

import cgitb

import pymysql

cgitb.enable()

# This *should* get the fields from the previous form.

# I can't test it now though...

form = cgi.FieldStorage()

# this part is almost straight from https://github.com/PyMySQL/PyMySQL

import pymysql.cursors

# Connect to the database

connection = pymysql.connect(host='localhost',

user='user',

password='passwd',

db='db',

charset='utf8mb4',

cursorclass=pymysql.cursors.DictCursor)

try:

with connection.cursor() as cursor:

student_sql = 'INSERT INTO `students` (lastname, firstname) VALUES (%s, %s)'

cursor.execute(student_sql,(form['lastname'], form['firstname']) )

# replacing some filed names with '...'. Fill them in

grade_sql = 'INSERT INTO `grades` (midtermgrade, finalgrade, ...) VALUES (%d, %d, %d, %d)'

cursor.execute(grade_sql, form['midtermgrade'], form['finalgrade'], ...)

connection.commit()

with connection.cursor() as cursor:

# Read a single record

sql = "SELECT * FROM students"

cursor.execute(sql))

for result in cursor.fetchall():

print(result, '
')

finally:

connection.close()

那可能是最简单的方法。 但是,要知道这一点很重要, 这种方法不会扩展到更大的项目 。 对于初学者,您需要:

模板语言,因此您可以将原始HTML和插入其中的代码分开

URL操作(因此,类似于mysite.com//grades的用户将直接获得其成绩)

用户身份验证(我们不想让学生看其他学生的成绩吗?)

一个ORM而不是直接处理您的数据库(我没有在其中存放过多的库存,但是有些人对此发誓)

如果您想做的比这大得多,请考虑使用类似Flask或Django的Python之类的框架,或其他适用于其他语言的解决方案。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值