Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

290
Visualizações
Passing url parameters in form widget django

Im trying to implement auocomplete in my django project.

I want to pass a parameter through the url in the form. This is my Form

class SongForm(forms.ModelForm):
    song_title = forms.ModelChoiceField(
        queryset=Snr.objects.all(),
        widget=autocomplete.ModelSelect2(url='login:song-autocomplete',attrs={'data-placeholder': 'Autocomplete ...',
                                                                              'data-minimum-input-length': 3,},)
    )
    class Meta:
        model = Song
        fields = ['song_title']

my url pattern is

url(r'^(?P<playlist_id>[0-9]+)/create_song/song-autocomplete/$', views.SongAutocomplete.as_view(), name='song-autocomplete', ),

so while calling the url song-autocomplete it needs a parameter playist_id. How do I send it using the url='login:song-autocomplete'?

Thank you.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

full example using my own code:

forms.py

class AddRelationshipForm(autocomplete.FutureModelForm):
    first = autocomplete.QuerySetSequenceModelField(
        queryset=autocomplete.QuerySetSequence(Person.objects.all()),
        required=False,
        widget=autocomplete.QuerySetSequenceSelect2(
            url='PersonAutoUrl', attrs={
                'style':'width:15em;', 'data-placeholder': 'find'
                }
            ),
    )

    def __init__(self, *args, **kwargs):
        type = kwargs.pop('type')
        super(AddRelationshipForm, self).__init__(*args, **kwargs)
        self.fields['first'] = autocomplete.QuerySetSequenceModelField(
            queryset=autocomplete.QuerySetSequence(Person.objects.all()),
            required=False,
            widget=autocomplete.QuerySetSequenceSelect2(
                url='PersonAutoUrl/'+type, attrs={
                    'style':'width:15em;', 'data-placeholder': 'search'
                    }
                ),
        )

    class Meta:
        model = Relation
        fields = ('first',)

urls.py

url(
        '^relationships/RelationshipAutoUrl/(?P<type>\w+)/$',
        RelationshipAutoView.as_view(),
        name='PersonAutoUrl',
    ),

views.py

class RelationshipAutoView(Select2QuerySetSequenceView):
    def get_queryset(self):
        excluded = Person.objects.filter(first__owner=self.request.user, first__type=self.kwargs['type'])
        queries = Person.objects.exclude(id__in=excluded)
        if self.q:
            queries = queries.filter(first_name__icontains=self.q)
        return queries

initiating form and passing kwarg type in view:

def relationships(request):
    relationships = ['Friend', 'Family','Business']
    forms = {}
    for key in relationships:
        forms[key] = AddRelationshipForm(request.POST or None, prefix='new'+key, type=key)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda