我有一个url,我想用django提供的“cursor”工具保存到MySQL数据库中,但是我一直收到“格式字符串参数不足”错误,因为这个url包含一些转义字符(非ascii字符)。测试代码相当简短:
import os
import runconfig #configuration file
os.environ['DJANGO_SETTINGS_MODULE'] = runconfig.django_settings_module
from django.db import connection,transaction
c = connection.cursor()
url = "http://www.academicjournals.org/ijps/PDF/pdf2011/18mar/G%C3%B3mez-Berb%C3%ADs et al.pdf"
dbquery = "INSERT INTO main_crawl_document SET url="+url
c.execute(dbquery)
transaction.commit_unless_managed()
完整的错误消息是
^{pr2}$有人能帮我吗?在
您正在为可能的SQL注入打开自己的大门。相反,请正确使用c.execute():
.execute
方法应该接受一个iterable参数,以用于转义,假设它是普通的dbapi方法(Django应该使用它)。在相关问题 更多 >
编程相关推荐