मैं django (1.2.4) के लिए नया हूं। मैंने सामान्य विचारों के साथ कुछ क्रूड बनाया है। लेकिन जब मैं django के मैसेजिंग फ्रेमवर्क का उपयोग करके छात्र बनाया जाता है तो मैं "छात्र सफलतापूर्वक जोड़ा गया" जैसे कुछ कैसे दिखा सकता हूं?अगर हम django सामान्य विचारों का उपयोग करते हैं तो सफलता संदेश कैसे भेजें
उत्तर
जहां तक मुझे पता है, परंपरागत सामान्य विचारों का उपयोग करके ऐसा करने का एक सीधा तरीका नहीं है। मैंने हमेशा महसूस किया है कि सामान्य विचारों पर प्रलेखन में काफी कमी आई थी और इसलिए कभी उनका उपयोग नहीं किया गया।
सिद्धांत में आप धारणा का उपयोग कर एक सजावट का उपयोग कर सकते हैं कि एक रीडायरेक्ट एक सफल सबमिशन था।
urls.py:
तो तुम (इस कोड में से कोई भी परीक्षण किया गया है) कुछ इस तरह लिख सकता है
try:
from functools import wraps
except ImportError:
from django.utils.functional import wraps
from django.http import HttpRedirectResponse
from django.contrib import messages
from django.views.generic import *
def add_message(success_message=None):
def decorator(func):
def inner(request, *args, **kwargs):
resp = func(request, *args, **kwargs)
if isinstance(resp, HttpRedirectResponse):
messages.success(request, message)
return resp
return wraps(func)(inner)
return decorator
student_info_edit = {
'template_name': 'myapp/student/form.html',
'template_object_name': 'student',
'form_class': studentForm,
}
student_info_new = {
'template_name': 'myapp/student/form.html',
'form_class': studentForm,
'post_save_redirect': '/myapp/students/',
}
urlpatterns += patterns('',
url(r'^students/$', list_detail.object_list, { 'queryset': Student.objects.all() }, name="students"),
url(r'^students/(?P<object_id>\d+)/$', add_message("Student record updated successfully")(create_update.update_object), student_info_edit, name="student_detail"),
url(r'^students/new$', add_message("The student was added successfully.")(create_update.create_object), student_info_new, name="student_new"),
)
सब कहा और कोडित, Django 1.3 शुरू की class-based generic views, इसलिए यदि आप Django 1.3 पर जाने में रुचि रखते हैं तो आपको उनको देखना चाहिए। वे अधिक अनुकूलन की अनुमति दे सकते हैं, सुनिश्चित नहीं है।
लंबे समय तक मैं सामान्य रूप से सामान्य विचारों का उपयोग करके लाभ फ़ॉर्म देखता हूं, और यह जोड़ने/अपडेट जैसी चीज़ों के लिए दोगुना हो जाता है।
कार्यक्षमता हैं जिन्हें आप के लिए पहले से ही Django सामान्य दृश्य में कार्यान्वित किया जाता है पूछ रहे हैं:
https://github.com/django/django/blob/1.2.X/django/views/generic/create_update.py#L115
आप अपने मुख्य टेम्पलेट में displaying messages द्वारा संदेश नहीं देखेंगे।
आप कई इस जवाब में यूआरएल अपडेट करना चाहते हैं, लिंक मर चुके हैं – DeA
Django 1.6+ के रूप में, किसी भी class-based generic views उपयोग कर, आप successMessageMixin पर भरोसा कर सकते हैं। यह आपकी कक्षा परिभाषा में मिश्रण जोड़ने और success_message
को जो कुछ भी आप चाहते हैं उसे विशेषता के रूप में सरल है।
ओलिवियर वर्डियर के रूप में उल्लेख किया गया है, कृपया अपने मुख्य टेम्पलेट में display messages को याद रखें!
docs से एक साधारण उदाहरण:
from django.contrib.messages.views import SuccessMessageMixin
from django.views.generic.edit import CreateView
from myapp.models import Author
class AuthorCreate(SuccessMessageMixin, CreateView):
model = Author
success_url = '/success/'
success_message = "%(name)s was created successfully"
एक अधिक जटिल उदाहरण:
from django.contrib.messages.views import SuccessMessageMixin
from django.views.generic.edit import CreateView
from myapp.models import ComplicatedModel
class ComplicatedCreate(SuccessMessageMixin, CreateView):
model = ComplicatedModel
success_url = '/success/'
success_message = "%(calculated_field)s was created successfully"
def get_success_message(self, cleaned_data):
# cleaned_data is the cleaned data from the form which is used for string formatting
return self.success_message % dict(cleaned_data,
calculated_field=self.object.calculated_field)
- 1. हम serialization का उपयोग क्यों करते हैं?
- 2. Django क्लास-आधारित विचारों का उपयोग करते हुए, मैं request.is_ajax
- 3. जहां हम JSON का उपयोग करते हैं?
- 4. हम एमवीवीएम का उपयोग कब करते हैं?
- 5. हम पुश के लिए प्रतिबद्ध संदेश कैसे सत्यापित करते हैं?
- 6. जब आप JMS (या सामान्य रूप से एक कतार) का उपयोग करते हैं तो डेटाबेस
- 7. कैसे Django विचारों
- 8. हम प्रोग्रामिंग में रेडियंस का उपयोग क्यों करते हैं?
- 9. क्या हम jQuery घोषित करते हैं या हम इसका उपयोग करते हैं?
- 10. जब हम जॉइन में कुल फ़ंक्शन का उपयोग करते हैं तो समूह द्वारा समूह का उपयोग कैसे करें?
- 11. संदेश संदेश भेजें पूर्व संदेश संदेश
- 12. सी # WinForms का उपयोग कर एमवीपी में विचारों के बीच आप नेविगेट कैसे करते हैं?
- 13. सादा और सरल, हम _stdcall का उपयोग क्यों करते हैं?
- 14. हम अपने जावा यूआई का परीक्षण कैसे करते हैं?
- 15. जब हम पहली बार कक्षा का उपयोग करते हैं तो स्थिर कोड हमेशा निष्पादित होता है?
- 16. जब हम मैक्रो को परिभाषित करते हैं तो 0 (0) का क्या उपयोग होता है?
- 17. हम जावा परियोजना में rt.jar का उपयोग क्यों करते हैं?
- 18. हम हाइबरनेट एनोटेशन का उपयोग क्यों करते हैं?
- 19. हम विंडोज सेवा का उपयोग कब करते हैं?
- 20. हम आखिरकार ब्लॉक का उपयोग क्यों करते हैं?
- 21. हम सीएसएस में "स्थिति: रिश्तेदार" का उपयोग कब करते हैं?
- 22. हम सदस्य रहित इंटरफ़ेस का उपयोग क्यों करते हैं?
- 23. ASP.NET MVC दिखाएँ सफलता संदेश
- 24. आप Django यूआरएल नेमस्पेस का उपयोग कैसे करते हैं?
- 25. हैं, तो IIf() और अगर()
- 26. एक जेएसएफ सफलता संदेश कैसे प्रदर्शित करें
- 27. अगर कथन के रूप में '&&' का उपयोग करते हैं तो कथन?
- 28. django का उपयोग कर एक POST अनुरोध कैसे भेजें?
- 29. पायथन/Django एप्लिकेशन का उपयोग कर एसएमएस कैसे भेजें?
- 30. किसी सर्वर से एसएमएस संदेश कैसे भेजें
धन्यवाद, मैं, के रूप में यह काफी लचीला व्यावहारिक स्थितियों को संभालने के लिए नहीं है सामान्य दृश्य का उपयोग नहीं करने का फैसला किया है । – Myth
मैं इस जवाब को स्वीकार कर रहा हूं क्योंकि इससे मुझे अपना निर्णय लेने में बहुत मदद मिली है (दूसरों के लिए: मैंने अभी तक कोड का परीक्षण नहीं किया है) – Myth
+1। अच्छा समाधान! आप सजावटी हैं निश्चित रूप से संदेश मॉड्यूल में शामिल किया जाना चाहिए। – AJJ