कैसे मैन्युअल रूप से जानकारी संलग्न करने के लिए जब एक्सेल अपलोड करने और डेटाबेस
एक्सेल 3 कॉलम के साथ छोड़ दिया चित्र की तरह है में डालने django1.8-।
डेटाबेस में डालने पर, मुझे सही ढंग से दिखाए गए 2 कॉलम और मैन्युअल रूप से डेटाबेस में 5 कॉलम डालने की आवश्यकता है। ये 2 अतिरिक्त कॉलम जानकारी अन्य डेटाबेस से प्राप्त की जाती है।
और एक और समारोह अगर वहाँ पहले से ही फ़ाइल विद्यमान है, नई अपलोड की गई फ़ाइल मौजूदा एक स्थान पर आ जाएगी है।
मैं पहले से ही दो 3 पार्टी उपकरण नहीं बल्कि काम करता है की कोशिश की है [नीचे views.py में स्निपेट], इसलिए शायद यह अभी भी django में एम्बेडेड एक का उपयोग करने के लिए बेहतर है।
संस्करण: पायथन 2.7। एक्सेल 2013. Django1.8।
किसी भी मदद की अत्यधिक सराहना की जाती है।
uploader = request.session['uploader']
Date=request.session['date']
forms.py
from django.core.files.storage import FileSystemStorage
from financialdata.storage import OverwriteStorage
class XXXXDataForm(forms.Form):
XXXXfile=forms.FileField(label='Select a file')
views.py
from django.core.files.storage import FileSystemStorage
def import_data(request):
if request.method == "POST":
form = XXXXForm(request.POST,request.FILES)
if form.is_valid():
newdoc= XXXX(docfile=request.FILES['docfile'])
newdoc.save()
return HttpResponseRedirect(reverse('homepage'))
else:
return HttpResponseBadRequest()
else:
form = XXXXForm()
return render_to_response(
'dataentry.html',
{
'form': form,
'title': 'Import excel data into database example',
'header': 'Please upload XXXX.xlsx:',
'message': 'File Saved!'
},
context_instance=RequestContext(request))
<!--How can I embed the following part to previous part?-->
class OverwriteStorage(FileSystemStorage):
def _save(self, name, content):
if self.exists(name):
self.delete(name)
return super(OverwriteStorage, self)._save(name, content)
def get_available_name(self, name):
return name
आप न अपने हटाने समारोह – maazza
@maazza फोन है, तो आप अपने को सही कोड के नीचे चिपकाएं सकता है? धन्यवाद। –
जैसा कि @maazza ने कहा, आपने अपना कार्य बनाया है, लेकिन आप इसे कॉल नहीं कर रहे हैं। कोड में कहीं आपको इसे कॉल करना चाहिए ताकि यह चलता है .. – qasimalbaqali