Her Excel dosyasındaki verilerin veritabanı modellerime eklendiği Excel dosyalarının yönetici yüklemelerini kabul etmek için Django Yönetici arayüzüne ihtiyacım var. Django model yönetici sayfasında böyle bir “Yükleme” düğmesi nasıl görünebilir, düğmeyi tıklatarak yöneticiye, yükleme tamamlandıktan sonra verileri veritabanına eklenecek bir .xls
dosyasını seçmesi istenir.İthalatı django admin üzerinden modellere excel verileri
cevap
Bazı şeylerin Django tarafı hakkında emin değilim, ancak Excel dosyalarını okumak ve değiştirmek için xlrd'u kullanabilirsiniz. Bu, Working with Excel files in Python
'u açıklayan ücretsiz bir PDF dosyası var. Bunu yaptım, ancak bir dosya yüklemesiyle basit bir görünüm oluşturdum (aslında bu bir düzenleme olarak doğrudan bir Django yönetici sayfasına eklemekten daha mantıklıdır) sayfa = bir model örneği ve excel'inin birden fazla model içerdiğini varsayalım). forms.py içinde
, bir dosya yükleme alanına views.py içinde
class ImportExcelForm(forms.Form):
file = forms.FileField(label= "Choose excel to upload")
ile basit formu, görünüm yükleme işlemek için
def test_flowcell(request):
c = RequestContext(request, {'other_context':'details here'})
if request.method == 'POST': # If the form has been submitted...
form = ImportExcelForm(request.POST, request.FILES) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
excel_parser= ExcelParser()
success, log = excel_parser.read_excel(request.FILES['file'])
if success:
return redirect(reverse('admin:index') + "pages/flowcell_good/") ## redirects to aliquot page ordered by the most recent
else:
errors = '* Problem with flowcell * <br><br>log details below:<br>' + "<br>".join(log)
c['errors'] = mark_safe(errors)
else:
c['errors'] = form.errors
else:
form = ImportExcelForm() # An unbound form
c['form'] = form
return render_to_response('sequencing/file_upload.html')
ve diğer post kullanımda önerildiği gibi excel dosyasındaki verileri okumak için xlrd. Bu
import xlrd
class ExcelParser(object, excel_name):
@transaction.commit_on_success
def read_excel(self):
wb = xlrd.open_workbook(excel_name)
...
do your parsing in here.....
...
için ayrı bir dosya ExcelParser.py (I verileri almak için korkunç bir ve hata eğilimli bir yoldur excel ki ekleyebilir miyim var. İş yerimdeki bunun bir sürü yapmak ve çalışıyorum yönetimi çok daha iyi çözümler olduğunu ikna edin.)
django-import-export yardımcı olabilir.
Yönetici nesneleri için iki düğme "içe aktarma" ve "dışa aktarma" oluşturur ve izinler de dahil olmak üzere birçok türde uzantı seçer. Ayrıca, verilerin içe aktarıldığını gösterir ve yürütme işlemini gerçekleştirmeden önce onaylanmasını ister.
Yalnızca INSTALLED_APPS uygulamasına eklemeniz ve yüklemek istediğiniz sınıfın bir içe aktarma dışa aktarma kaynağı oluşturması ve yönetici düğmelerini göstermek için daha önce oluşturulan kaynak sınıfıyla ilişkili bir ImportExportModelAdmin alt sınıfı oluşturmanız yeterlidir.
http://django-import-export.readthedocs.org/en/latest/getting_started.html https://github.com/bmihelac/django-import-export: at
fazla bilgi.
- 1. Django: admin
- 2. django admin/inline
- 3. Django Admin Arama optimizasyonu
- 4. django-taggit: etiketleri admin
- 5. Unicode ve Django admin
- 6. Django admin GenericForeignKey inline
- 7. django admin sitesine bağlantı
- 8. Django admin inline
- 9. Grup modelleri django admin
- 10. Django: OperationalError at/admin/
- 11. Django Admin Fieldsets
- 12. django Admin sayfası bozuk
- 13. Django admin seferde
- 14. Excel com-object powershell üzerinden
- 15. Django Admin - özel yöntemle sıralama
- 16. Django admin - izin listesini değiştir
- 17. Django özel kullanıcı admin change_password
- 18. Django Yönetici 'Sayfa bulunamadı/admin/
- 19. Django admin list_display yeni satır
- 20. UnicodeEncodeError Django admin içindeki dosyaları yüklerken admin olarak ara
- 21. Nginx'in arkasında HTTPS üzerinden Django Yöneticisi'ne erişme
- 22. Alembic migrasyonlarda modellere erişme
- 23. Django admin list_select_related bu durumda neden çalışmıyor?
- 24. Django admin eylemlerinde özel hata iletisi
- 25. Django admin sayfasından 'Siteler' kaldırılıyor sayfası
- 26. Django - admin UserProfile m2m alan - Hata
- 27. Django admin - ForeignKey görüntülü reklam metnini değiştirme
- 28. Django admin: Alanlar sırasını tanımlayabilir miyim?
- 29. django: grup kullanıcılarını gösterme admin olarak sayma
- 30. django-admin satır içi formlarda silme doğrulanıyor
Bu harika bir soru - bildiğim başka bir geliştiricinin Django'ya daha önce ihtiyacı vardı ve şu anda kendi projelerimden birine ihtiyacım var. Sorunun yeniden açılması, böylece Excel'in Django Yönetici Arayüzüne nasıl çalıştığını nasıl paylaşabileceğimizi paylaşabiliriz. –
Oh - ve bu arada, insanların danışabileceği benzer bir soru var, ancak Excel dosya formatı yerine '.csv' dosya formatını içerir: http://stackoverflow.com/questions/3974620/ –