In der interaktiven Shell von Django zu betreten, ichAusgabe in einem Zustand Funktion
bekamIn [1]: contract = Contract.objects.get(pk=2)
In [2]: contract
Out[2]: <Contract: Contract with David Bouchard (en)>
In [3]: contract.request.customer.convert_fax_number
Out[3]: ''
In einer JavaScript-Funktion, habe ich eine Variable var fax_number = "{{ contract.request.customer.convert_fax_number }}";
und erstellen Sie die folgende, wenn die Bedingung Funktion
if (fax_number == '') {
alert('Please, attach the fax number to your profile');
return;
}
Ich habe einen Haltepunkt der ersten Zeile dieses Codes gesetzt. Daher weiß ich, dass der Compiler in dieser Zeile angehalten hat, aber er hat die Anweisung dieser Bedingung nie ausgeführt. Hier
ist die ganze Funktion:
(function($){
var bindEvents = function(node){
$('.btn-fax', node).bind('click', function(e){
e.preventDefault();
var data = {};
var fax_number = "{{ contract.request.customer.convert_fax_number }}";
$.ajax({
url : $(this).attr('href'),
type: 'POST',
data : data,
success: function(data, textStatus, jqXHR) {
if (data.success) {
if (data.redirect_to) {
window.location.href = data.redirect_to;
}
else if (data.reload) {
window.location.reload();
}
}
else {
alert('Error! See console for details :(');
console.error(textStatus, data);
}
},
error: function (jqXHR, textStatus, errorThrown) {
if (fax_number == '') {
alert('Please, attach the fax number to your profile');
return;
}
console.error(textStatus, errorThrown);
}
});
return false;
});
};
und hier die Änderung Ich habe Unicode-String in einfachen String zu konvertieren:
@property
def convert_fax_number(self):
fax = self.fax
return unicodedata.normalize('NFKD', fax).encode('ascii','ignore')
Es ist nicht sogar die Ausgabe von convert_fax_number
Arbeits ist ein einfaches leere Zeichenfolge ''
. Wie könnte ich es reparieren?
Vielen Dank im Voraus!
Diese Eigenschaft ist Unsinn, und es gibt keinen Grund, „Unicode-String in einfachem String zu konvertieren“. –
Ich verstehe @DanielRoseman, aber selbst wenn ein Ersatz 'convert_fax_number' zu' fax' (Ausgang 'u'''),' alert (‚Bitte, die Faxnummer zu Ihrem Profil anhängen‘); 'nie aufgerufen. Ich kann das Problem nicht lösen. Ich brauche ein bisschen Hilfe hier. –
Dann sollten Sie console.log() oder alert() verwenden, um herauszufinden, was der Wert tatsächlich ist. Warum überprüfen Sie das nur in der Ajax-Fehlerfunktion? –