Mein Modell:Django: Filefield Name Sonderzeichen ersetzt automatisch
class MyFile(models.Model):
file = models.FileField(upload_to="myfiles", max_length=500)
slug = models.SlugField(max_length=500, blank=True)
Wenn die Dateinamen enthalten Sonderzeichen, wie zum Beispiel ' ‚(Leerzeichen), werden Sonderzeichen durch Unter automatisch ersetzt werden. Wo (in welcher Funktion) passiert das? Wie kann diese automatische Validierung deaktiviert werden?
Dank
UPDATE
Alle Kommentare zu den folgenden Codes? Danke
"""
https://docs.djangoproject.com/en/1.9/_modules/django/core/files/storage/#Storage.get_valid_name
Overwrite get_valid_name() function,
"""
class OverwriteStorage(FileSystemStorage):
def get_valid_name(self, name):
print "name=", name
return name
class MyFile(models.Model):
file = models.FileField(upload_to="myfiles", max_length=500, storage=OverwriteStorage())
Welche Art von speziellen Char ist das? Einzelzitate? Manchmal ersetzt Ihre Shell diese Zeichen. Es ist so, als würdest du eine neue Datei in deiner Shell mit Sonderzeichen im Dateinamen "anfassen". –
@ShangWang z.B. Raum – BAE
Ihre Lösung ist richtig, wenn Sie es nur für ein Modell verwenden, möchten Sie vielleicht meine aktualisierte Antwort überprüfen, wenn Sie es lieber global – fodma1