FileField定制上传文件名称详解
本文通过实例代码给大家介绍了定制FileField中的上传文件名称问题,感兴趣的朋友参考下吧
FileField中的upload_to属性可以设定上传文件的存储目录和名称,它可以是个字符串,也可以是个callable,比如一个方法。
当upload_to的值设为一个方法时,就可以对上传文件的名称进行修改了。方法需要两个参数,instance与filename,instance为此FileField所属的Model实例,filename为上传文件的名称。
举例:
def user_directory_path(instance, filename): # file will be uploaded to MEDIA_ROOT/user_<id>/<filename> return 'user_{0}/{1}'.format(instance.user.id, filename) class MyModel(models.Model): upload = models.FileField(upload_to=user_directory_path)
当一个类定义了__call__方法时,也可以像func一样被调用,所以,upload_to的值也可以是一个定义了__call__方法的类。
比如,要根据上传时间为文件名加时间戳:
import hashlib import os import time from django.utils.deconstruct import deconstructible @deconstructible class TimeStampFileName(object): def __init__(self, path): self.path = os.path.join(path, "%s%s") def __call__(self, instance, filename): extension = os.path.splitext(filename)[1] data = "%s_%d"%(filename,int(time.time())) file_hash = hashlib.sha1(data).hexdigest() return self.path % (file_hash, extension)
Model中的FileField可以如下定义:
class MyModel(models.Model): upload = models.FileField(upload_to=TimeStampFileName('media/'), )
Atas ialah kandungan terperinci FileField定制上传文件名称详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ramai pengguna Mac cenderung untuk mengekalkan nama lalai peranti mereka dan mungkin tidak pernah mempertimbangkan untuk menukarnya. Ramai orang memilih untuk mengekalkan nama itu daripada persediaan awal, seperti "Johnny's MacBook Air" atau hanya "iMac." Mempelajari cara menukar nama Mac anda ialah kemahiran yang sangat berguna, terutamanya apabila anda mempunyai berbilang peranti, kerana ia boleh membantu anda membezakan dan mengurusnya dengan cepat. Seterusnya, kami akan mengajar anda langkah demi langkah cara menukar nama komputer, nama hos dan nama Bonjour (nama hos tempatan) dalam sistem macOS. Mengapa anda perlu menukar nama Mac anda? Menukar nama Mac anda bukan sahaja boleh menunjukkan keperibadian anda, tetapi juga membantu meningkatkan pengalaman pengguna: Peribadikan Mac anda: Nama lalai mungkin tidak mengikut citarasa anda, tukar kepada nama yang anda suka

Semakin ramai pengguna mula menaik taraf sistem win11 Memandangkan setiap pengguna mempunyai tabiat penggunaan yang berbeza, ramai pengguna masih menggunakan pelayar ie11 Jadi apa yang perlu saya lakukan jika sistem win11 tidak boleh menggunakan pelayar ie. Adakah windows11 masih menyokong ie11? Mari kita lihat penyelesaiannya. Penyelesaian kepada masalah yang win11 tidak boleh menggunakan pelayar ie11 1. Pertama, klik kanan menu mula dan pilih "Command Prompt (Administrator)" untuk membukanya. 2. Selepas dibuka, terus masukkan "Netshwinsockreset" dan tekan Enter untuk mengesahkan. 3. Selepas pengesahan, masukkan "netshadvfirewallreset&rdqu

Bukan rahsia lagi bahawa Internet Explorer telah lama tidak disukai, tetapi dengan ketibaan Windows 11, realiti muncul. Daripada kadangkala menggantikan IE pada masa hadapan, Edge kini menjadi penyemak imbas lalai dalam sistem pengendalian terkini Microsoft. Buat masa ini, anda masih boleh mendayakan Internet Explorer dalam Windows 11. Walau bagaimanapun, IE11 (versi terkini) sudah mempunyai tarikh persaraan rasmi, iaitu 15 Jun 2022, dan jam semakin berdetik. Dengan mengambil kira perkara ini, anda mungkin perasan bahawa Internet Explorer kadangkala membuka Edge, dan anda mungkin tidak menyukainya. Jadi mengapa ini berlaku? wujud

Baru-baru ini, ramai pengguna win10 mendapati bahawa pelayar IE mereka sentiasa melompat ke pelayar tepi secara automatik apabila menggunakan pelayar komputer Jadi bagaimana untuk mematikan lompat ke tepi automatik apabila membuka IE dalam win10? Biarkan tapak ini dengan teliti memperkenalkan kepada pengguna cara melompat ke tepi dan menutup secara automatik apabila membuka IE dalam win10. 1. Kami log masuk ke pelayar tepi, klik... di penjuru kanan sebelah atas, dan cari pilihan tetapan lungsur turun. 2. Selepas kami memasukkan tetapan, klik Penyemak Imbas Lalai di lajur kiri. 3. Akhir sekali, dalam keserasian, kami menandakan kotak untuk tidak membenarkan tapak web dimuat semula dalam mod IE dan mulakan semula pelayar IE.

15 Jun 2022 ialah hari apabila Microsoft menamatkan sokongan untuk Internet Explorer 11 (IE11) dan menutup bab penyemak imbas warisannya. Syarikat itu telah mengingatkan pengguna tentang tarikh akhir hayat ini untuk beberapa waktu dan menyeru mereka untuk merancang perpindahan ke Microsoft Edge. Microsoft menggabungkan IE11 dengan Windows 8.1 sebagai pelayar web lalai moden untuk Windows. Walaupun ia tidak pernah mencapai ketinggian (semasa) Chrome, ia merupakan penyemak imbas desktop kedua paling banyak digunakan pada tahun 2014, di belakang IE8. Sudah tentu, dengan 20

Penyelesaian kepada pintasan IE yang tidak boleh dipadamkan: 1. Isu kebenaran 2. Kerosakan pintasan 4. Isu pendaftaran; alat; 9. Semak laluan pintasan sasaran; 10. Pertimbangkan faktor lain; Pengenalan terperinci: 1. Isu kebenaran, klik kanan pada pintasan, pilih "Properties", dalam tab "Security", pastikan anda mempunyai kebenaran yang mencukupi untuk memadamkan pintasan, anda boleh cuba jalankan sebagai pentadbir, dsb .

Bagaimana untuk mendayakan fungsi pecutan IE? IE terlalu lambat untuk membuka halaman web, kami boleh mendayakan mod pecutan perkakasan di dalamnya. Ramai rakan melaporkan bahawa apabila menggunakan pelayar IE, kelajuan membuka halaman web adalah sangat perlahan, yang juga mempunyai kesan tertentu pada penyemakan imbas web kami. Saya hanya ingin bertanya kepada editor jika terdapat sebarang penyelesaian Dalam kes ini, anda boleh menghidupkan mod pecutan perkakasan pelayar IE. lihat di bawah! Untuk mendayakan fungsi pecutan dalam IE, buka pelayar selamat IE, klik ikon "Tetapan" berbentuk gear di penjuru kanan sebelah atas, dan pilih "Pilihan Internet" untuk masuk, seperti yang ditunjukkan dalam rajah. 2. Klik "Lanjutan" dalam navigasi tab di kepala tetingkap Internet Options, seperti yang ditunjukkan dalam rajah. 3.

Bagaimana untuk menyahpasang ie9 dari win7? Komputer boleh mengendalikan sesuatu di tempat kerja dan juga boleh digunakan untuk menonton rancangan TV. Sama seperti menonton drama, kami biasanya menggunakan pelayar untuk menontonnya Kerana semakin banyak pelayar dan fungsinya adalah sempurna, semakin sedikit orang menggunakan pelayar ie9 sekarang Jadi bagaimana untuk menyahpasang pelayar di win7 untuk menyahpasang pelayar IE9 daripada sistem. Bagaimana untuk menyahpasang pelayar ie9 dari win7. 1. Pertama, klik dua kali untuk membuka MyPC dan pilih untuk menyahpasang atau menggantikan program 2. Kemudian cari "ViewInstallUpdate" dan klik padanya. Anda boleh menemui "windows internet explorer9" di dalam, kemudian klik kanan untuk memadam. Di atas ialah editor dengan wi
