1.
url(r'^contestUpdate/contestDelete/(?P<cid>\w{1,13})/$', contestDelete, name="contestDelete"),
url(r'^contestUpdate/contestSearch/$', contestSearch, name="contestSearch"),
路由为什么写成 contestUpdate/contestSearch/而不是contestSearch/?
使用 contestUpdate/contestSearch/ 表示这是在“竞赛更新”模块下的“搜索”功能。
如果直接写成 contestSearch/,那么所有与竞赛相关的功能都处于同一层级,不利于模块化管理。
2.conn.commit():
含义:表示提交数据事务到数据库。
概念:当你执行像 INSERT(插入数据)、UPDATE(更新数据)、DELETE(删除数据)这样的 SQL 操作时,这些更改会先保存在数据库的临时区域中,这些更改只有在调用 commit() 后才会永久写入数据库。
3.命名空间
app_name = 'statusManagement' #命名空间
定义:命名空间(Namespace) 是 Django 中用于区分不同应用之间相同名称的 URL 名称的一种机制。
作用:防止多个应用中出现同名的name导致冲突
使用方法:1)在模板中 {% url '命名空间:name' %}
2)在视图中reverse('命名空间:name')
4.
sql1 = "update contest set cid = '%s', ctype = '%s', cgrade = '%d', sno = '%s', cdate= '%s' where cid = '%s'" %(cid, ctype, cgrade, sno, cdate)
注:此处代码后面部分写错了,后面括号中的内容与前面的内容的应该一一对应,应该改为(ctype,cgrade,sno,cdate,cid)
初此之外,在此处可以使用参数化查询来降低SQL注入的风险,可以修改称以下样式:
sql1 = "update contest set ctype = %s, cgrade = %s, sno = %s, cdate= %s where cid = %s"
params = (cid,ctype, cgrade, sno, cdate)
cursor.execute(sql1, params)
SQL注入攻击:SQL注入攻击(SQL Injection Attack)是一种常见的网络安全漏洞攻击方式,攻击者通过在输入字段中插入恶意的SQL代码,干扰数据库的正常执行逻辑,从而获取、篡改或删除数据库中的敏感信息。
参数化查询:参数化查询是一种安全的数据库操作方式,它通过将用户输入作为参数传递给SQL语句,而不是直接拼接到SQL语句中,从而有效防止SQL注入攻击。
428

被折叠的 条评论
为什么被折叠?



