2012-04-19 15 views
15

कोई भी django-ajax-selects के लिए सबसे आसान संभव उदाहरण पोस्ट कर सकता है? एक फ़ील्ड और एक फॉर्म वाला बस एक मॉडल जिसका उपयोग इस मॉडल के आधार पर इस मॉडल के उदाहरणों का चयन करने के लिए किया जा सकता है (व्यवस्थापक में नहीं बल्कि उपयोगकर्ता रूप में)।django-ajax- उदाहरण का उपयोग

मैंने प्रोजेक्ट के प्रलेखन को पढ़ने की कोशिश की लेकिन मुझे समझना बहुत मुश्किल हो गया ... इसके अलावा, मैं उदाहरण ऐप काम करने में सक्षम नहीं था (पता नहीं था कि लेबल क्या है ???) :(

इसके अलावा, अगर आपको लगता है कि तुलना में एक सबसे आसान समाधान है कि वहाँ Django-ajax-चयन कृपया मुझे बताओ।

धन्यवाद!

+1

"पता लगाने के एक लेबल है क्या coudln't ???" +1 मैं सहमत हूं कि AJAX चयन का दस्तावेज अजाक्स newbies के लिए अस्पष्ट है। मैं यह भी सोच रहा हूं कि लेबल क्या है ... – Private

उत्तर

7

यहाँ एक सरल उदाहरण (GitHub पर नहीं बल्कि उदाहरण से परीक्षण किया है):

models.py:

class Person(models.Model): 
    name = models.CharField(blank=True, max_length=100) 
    email = models.EmailField() 

    def __unicode__(self): 
     return self.name 


class Group(models.Model): 
    name = models.CharField(max_length=200,unique=True) 
    members = models.ManyToManyField(Person,blank=True,help_text="Enter text to search for and add each member of the group.") 

    def __unicode__(self): 
     return self.name 

forms.py:

class GroupForm(ModelForm): 

    class Meta: 
     model = Group 

    members = make_ajax_field(Release,'members','person') 

lookups.py:

class PersonLookup(LookupChannel): 

    model = Person 

    def get_query(self,q,request): 
     return Person.objects.filter(name__icontains=q).order_by('name') 

    def get_result(self,obj): 
     return obj.name 

    def format_match(self,obj): 
     return self.format_item_display(obj) 

    def format_item_display(self,obj): 
     return u"%s" % escape(obj.name) 

सेटिंग्स.py:

AJAX_LOOKUP_CHANNELS = { 
    'person' : ('example.lookups', 'PersonLookup'), 
} 

views.py:

class Create(generic.CreateView): 
    template_name = "create.html" 
    form_class = GroupForm 
    success_url = 'create' 

create = Create.as_view() 

urls.py:

urlpatterns = patterns('', 
    url(r'^create', view='views.create',name='create'), 
    url(r'^ajax_lookup/(?P<channel>[-\w]+)$', 'ajax_select.views.ajax_lookup', name = 'ajax_lookup'), 
) 
+0

क्या आप इसे एक पूर्ण django प्रोजेक्ट के रूप में अपलोड कर सकते हैं जिथब या बिटबकेट? मैं प्रोजेक्ट को क्लोन करना चाहता हूं और यह देखने के लिए "पायथन प्रबंधन.py रनरवर" चलाएं ... यह धन्यवाद! – Serafeim

+0

क्या किसी ने इसका परीक्षण किया है? मैं इसे काम करने में असमर्थ हूं। – thumbtackthief

+0

यहां एक कामकाजी उदाहरण है। Http: //github.com/serkanh/django_ajax_selects_example – shaytac

0

आप Quick installation गाइड के माध्यम से जाना चाहिए आरंभ करने के लिए।

इस दस्तावेज़ में एक लेबल ntation एक उदाहरण मॉडल है, जैसे कि यह कार, विजेट, आपके पास जो भी मॉडल हो और चाहें।

+2

मैंने कोशिश की लेकिन समझ में नहीं आया :(लेबल का उपयोग क्यों किया जाता है? मुझे लगता है कि AJAX_LOOKUP_CHANNELS में 'व्यक्ति' का उपयोग किया जाता है। क्यों दोनों व्यक्ति और लेबल मॉडल हैं I डी केवल लेबल के लिए नहीं लोगों के लिए स्वत: पूर्ण का उपयोग करना पसंद है! मैं अपने रूपों में से एक में स्वतः पूर्ण कैसे रख सकता हूं? और अगर मैं व्यवस्थापक में स्वत: पूर्ण कार्यक्षमता का उपयोग नहीं करना चाहता हूं तो व्यवस्थापक के तहत मुझे कुछ भी क्यों पंजीकृत करना चाहिए? ?? – Serafeim

+0

लेबल का उपयोग क्यों किया जाता है? उदाहरण के तौर पर। जाहिर है, अगर आप व्यवस्थापक में स्वत: पूर्ण नहीं चाहते हैं तो आपको व्यवस्थापक में कुछ भी पंजीकृत नहीं करना है ... – jpic

+0

मैं बस दिमाग में नहीं हो सकता प्रलेखन लेखक :(! यदि आपके पास एक साधारण काम करने वाला पूरा उदाहरण है, तो कृपया इसे पोस्ट करें, धन्यवाद। – Serafeim

संबंधित मुद्दे