我想使用一些传入参数从我的 views.py 中调用 generate_pic
在 views.py 中我有:
def msa_result(request, measurement_id):
try:
print measurement_id
_measurement = UserMeasurements.objects.get(measurement_id=measurement_id)
import MySQLdb
db = MySQLdb.connect(host="10.231.XX.XX", localhost
port=3306,
user="XXX",
passwd="XXX",
db="XX")
print "connect database successfully"
processing_dict = {'set_id': measurement_id }
from post_processing import generate_pic
result = generate_pic(db, processing_dict)
if result=='success' :
return render(request, 'msa_result.html', {'measurement': _measurement})
else:
raise Http404("Can not process image in post_processing.py")
except:
raise Http404("oh noooooo @msa_result")
HTML 页面的错误是“oh noooooo @msa_result”而不是“Can not process image in post_processing.py”
在 post_processing.py 我有:
def generate_pic(db, **kwargs):
print "I an here" #this never print out
if kwargs['set_id']:
user = kwargs.get('user', 'no_user')
set_id = kwargs['set_id']
set_id = int(set_id)
return 'success'
else:
return "Please give a set_id to process result."
views.py 和 post_processing.py 在同一个文件夹中。
我的代码有什么问题?
请您参考如下方法:
在将 dict 传递给函数的地方,您必须在前面加上 ** 才能将其作为 kwargs 传递。
result = generate_pic(db, **processing_dict)
