मैं एक संवाद बनाने की कोशिश कर रहा हूं जो एक rendered django रूप में slurp करने के लिए jquery's .load() फ़ंक्शन का उपयोग करता है। .load फ़ंक्शन को "अलर्ट" ऑब्जेक्ट का पीके पास किया जाता है। इसके अलावा वर्ग कार्यों में उपलब्ध कर रहे हैं self.request.user
तरह बातें तो मैं संदेश मॉडल (models.py) में नीचे दिखाया गया है उन क्षेत्रों, पूर्व भर सकते हैं:प्रारंभिक डेटा के साथ django के जेनेरिक CreateView को उपclass कैसे करें?
class Message(models.Model):
user = models.ForeignKey(User)
alert = models.ForeignKey(Alert)
date = models.DateTimeField()
message = models.TextField()
उपवर्गीकरण Django के CreateView यह बहुत आसान एक उत्पन्न करने के लिए बनाता है ModelForm (views.py) का एक उदाहरण के साथ संदर्भ:
class MessageDialogView(CreateView):
""" show html form fragment """
model = Message
template_name = "message.html"
def get_initial(self):
super(MessageDialogView, self).get_initial()
alert = Alert.objects.get(pk=self.request.POST.get("alert_id"))
user = self.request.user
self.initial = {"alert":alert.id, "user":user.id, "message":"test"}
return self.initial
def post(self, request, *args, **kwargs):
super(MessageDialogView, self).post(request, *args, **kwargs)
form_class = self.get_form_class()
form = self.get_form(form_class)
context = self.get_context_data(form=form)
return self.render_to_response(context)
समस्या है कि यहाँ self.initial
फार्म के साथ गाया नहीं प्राप्त करता है। मैंने बीमा किया है कि फॉर्म वास्तव में get_initial
पर कॉल कर रहा है और फॉर्म इंस्टेंस में post
में उचित प्रारंभिक डेटा है, लेकिन जब फॉर्म टेम्पलेट message.html
में प्रस्तुत किया जाता है तो यह प्रारंभिक डेटा को किसी भी तरह से नहीं लेता है जैसा कि मैं उम्मीद करता हूं। क्या यह काम करने के लिए एक विशेष चाल है? मैंने दस्तावेज़ों को खराब कर दिया है (जेनेरिक आधारित वर्ग दृश्यों पर उदाहरणों की कमी है) और स्रोत लेकिन मैं नहीं देख सकता कि मैं क्या खो रहा हूं।
मेरी अज्ञानता को क्षमा करें लेकिन शब्दकोश को कॉपी न करने का जोखिम क्या है? – Harry
इस कोशिश @HarryGordon: dict1 = { 'एक': 1, 'बी': 2} dict2 = dict1 dict2 [ 'बी'] = 10 प्रिंट (dict1) –
सभी नई-पंक्तियों की तरह दिखता है खो गए हैं :( –