2012-04-19 44 views
15

任何人都可以發佈django-ajax-selects最簡單的示例嗎?只有一個模型帶有一個字段和一個可用於根據該字段選擇此模型實例的表單(不是以管理員身份,而是以用戶形式)。django-ajax-selecting示例用法

我嘗試閱讀該項目的文檔,但發現它很難理解......另外,我無法使示例應用程序工作(coudln't找出什麼是標籤???):(

另外,如果你認爲有比最簡單的辦法Django的Ajax的選擇,請告訴我。

謝謝!

+1

「coudln't找出什麼是標籤???」 +1我同意阿賈克斯選擇的文檔不清楚阿賈克斯新手。我也想知道什麼標籤是... – Private 2013-11-04 07:25:26

回答

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) 

settings.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項目github或bitbucket?我想克隆這個項目,並運行「python manage.py runserver」來查看它的行動方式......謝謝! – Serafeim 2012-06-22 14:23:38

+0

有沒有人測試過這個?我無法得到它的工作。 – thumbtackthief 2013-11-04 21:48:54

+0

下面是一個工作示例.https://github.com/serkanh/django_ajax_selects_example – shaytac 2014-01-19 19:02:01

0

你應該去通過Quick installation引導上手。

此文檔中的標籤ntation就是一個示例模型,就像它可以是Car,Widget,無論你有什麼樣的模型。

+2

我試過,但不明白:(爲什麼使用標籤?我看到,在AJAX_LOOKUP_CHANNELS使用'人'爲什麼有人和標籤模型 - 如果我不想在管理員中使用自動填充功能,爲什麼我要在管理員下注冊任何東西?爲什麼我應該在管理員下注冊任何東西? – Serafeim 2012-04-19 11:50:35

+0

爲什麼使用Label?作爲一個例子顯然,如果你不想在管理員中使用自動完成功能,你不需要在管理員中註冊任何東西...... – jpic 2012-04-19 13:39:06

+0

我只是不能在心中文檔作者:(!如果你有一個簡單的工作完整的例子,請張貼它,謝謝。 – Serafeim 2012-04-19 19:18:21