0

Я использую django-crispy-forms и хотел бы использовать автозаполненный свет, но не могу его уладить. Мне нужно, чтобы пользователи могли создавать новый объект, если тот, который им нужен, не существует. Я просто понятия не имею, как использовать автозаполненный свет, и я боролся в течение нескольких дней. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении?autocomplete-light для добавления всплывающего окна за пределами администратора

models.py

class CollectionFacility(TimeStampedModel): 
    """ 
    Data collection facility. 
    """ 

    facility_name = models.CharField(max_length=256, blank=False) 
    address_line1 = models.CharField("Address line 1", max_length=45) 
    address_line2 = models.CharField("Address line 2", max_length=45, blank=True) 
    country = models.CharField(max_length=50, blank=False) 
    state_province = models.CharField(max_length=100, blank=True) 
    city = models.CharField(max_length=100, blank=False) 
    postal_code = models.CharField("Postal Code", max_length=20, blank=True) 
    facility_contact = models.ForeignKey('FacilityContact', related_name='collection_facilities', null=True, blank=True) 

    def __unicode__(self): 
     return "%s, %s" % (self.facility_name, self.country) 

    class Meta: 
     ordering = ['country', 'facility_name', 'city', 'state_province'] 
     verbose_name = "Collection Facility" 
     verbose_name_plural = "Collection Facilities" 

class FacilityContact(TimeStampedModel): 
    TITLES = (
     ('Mrs.', 'Mrs.'), 
     ('Ms.', 'Ms.'), 
     ('Mr.', 'Mr.'), 
     ('Dr.', 'Dr.'), 
    ) 

    first_name = models.CharField(max_length=256, blank=False) 
    middle_initial = models.CharField(max_length=4, blank=True) 
    last_name = models.CharField(max_length=256, blank=False) 
    title = models.CharField(max_length=4, choices=TITLES, blank=True) 
    email = models.EmailField(blank=False) 

    def __unicode__(self): 
     return "%s, %s" % (self.last_name, self.first_name) 

    class Meta: 
     ordering = ['last_name', 'first_name'] 
     verbose_name = "Facility Contact" 
     verbose_name_plural = "Facility Contacts" 

forms.py

class FacilityForm(autocomplete_light.ModelForm): 
    class Meta: 
     model = CollectionFacility 

views.py

facility_form = FacilityForm() 
# pass it in the context to template 
.... 

template.html

{% crispy facility_form %} 
+0

ли Джанго-автозаполнения-легкая работа, когда вы не делаете хрустящие формы? Попробовали ли вы с базовым примером (например, в документах django-autocomplete-light)? – SaeX

ответ

0

Вы проверили non_admin_add_another example app?

Docs about that one есть еще не портирован на v2, что означает, что код в документах может не работать. Однако Обратите внимание, что autocomplete_light.example_apps.non_admin_add_another должен работать.

Я рекомендую вам начать возиться с этим примером непосредственно в test_project autocomplete_light, см: http://django-autocomplete-light.readthedocs.org/en/stable-2.x.x/demo.html

+0

Я попытался загрузить пример приложения, но все статические файлы вернулись 404. казалось, что он не работает. –

+1

Я пробовал оба примера и фиксировал один из них: https://github.com/yourlabs/django-autocomplete-light/commit/e8763164c310ae03ae716312b64121f8ff0e5139 Оба работают сейчас. – jpic