Sorularım için bir veri tabanım var ve bu soruların birkaçı özel doğrulama gerektiriyor. Bu nedenle, py_validation adı verilen modelime bir alan ekledim ve bu sorular yanıtlandığında, bunları py_validation içinde saklanan kodu çalıştırarak doğrularım. Ben interpereter yapıştırın zaman, düzgün çalışır, ancak ben exec içine geçerken, bu hata ile başarısız: Sizi aramamınBu, exec() çağrıldığında neden bir sözdizimi hatası alıyor?
# This code relies on the field type being a char field
if len(value.split('\n')) < 5:
raise ValidationError(_("You must specify at least 5 widgets, one per line"))
super(CharField, self).validate(value)
: gibi
Traceback (most recent call last):
File "<string>", line 2, in <fragment>
invalid syntax: <string>, line 2, pos 31
kod görünüyor kullanarak, değişken değer, yürütülürken yerel kapsamda olacak şekilde
. Tam olarak işe yarayan kodun, böyle yapıldığında kefalet yapması mantıklı değil.