2012-04-19 22 views
15

誰でもdjango-ajax-selectsの最も単純な例を投稿できますか?そのフィールドに基づいてこのモデルのインスタンスを選択するために使用できるフィールドとフォームを持つモデル(管理者ではなくユーザーフォーム)。django-ajax-select exampleの使用

私はプロジェクトのドキュメントを読んでみましたが、理解が非常に難しいと感じました...また、サンプルアプリケーションを作成できませんでした(ラベルは何ですか?)あなたはジャンゴ - AJAX-選択よりも最も簡単な解決策があると信じている場合

また、教えてください。

ありがとう!

+1

は、 "ラベルであるかを調べるcoudln't ???" +1私はajaxの選択に関する文書がajax初心者にとっては不明であることに同意します。私はまた、ラベルが何であるか疑問に思っています... – 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) 

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プロジェクトとしてアップロードできますか?ギターやビットバケット?私はプロジェクトをクローンして "python manage.py runserver"を実行して、どのように動作しているかを見てみたいです...ありがとう! – Serafeim

+0

誰かがこれをテストしましたか?私はそれを働かせることができません。 – thumbtackthief

+0

実例があります.https://github.com/serkanh/django_ajax_selects_example – shaytac

0

あなたが始めるためにQuick installationガイドを通って行く必要があります。

このドールのラベルあなたが持っていて望むどんなモデルであれ、それはCar、Widgetと同じように、模範的なモデルです。ここ

+2

私は試しましたが、理解できませんでした:(ラベルはなぜ使用されていますか?AJAX_LOOKUP_CHANNELSでは、私は自分のフォームの中にオートコンプリートを置くことができますか?また、管理者のオートコンプリート機能を使用したくない場合、どうして私は管理者の下に何かを登録する必要がありますか? ? – Serafeim

+0

ラベルはなぜ使用されていますか?例として、管理者にオートコンプリートを必要としない場合は、明らかに何も管理者に登録する必要はありません。 – jpic

+0

私はちょうどドキュメント作成者:(!簡単な作業例があれば投稿してください、ありがとうございます。 – Serafeim

関連する問題