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

215
Visualizações
Cree la URL de Django dentro de la función JS basada en 3 modelos diferentes

Tengo una función que muestra títulos de 3 modelos diferentes en Django. Quiero agregar un enlace a cada título para que redirija al usuario a la URL adecuada.

La función search_autocomplete devuelve todos los títulos correctamente en 1 lista, sin embargo, tengo problemas con la creación de la dirección URL en el archivo js. Estoy usando esta biblioteca para crear una lista de títulos.

Digamos que el usuario pone "python es increíble" en la barra de búsqueda. La dirección URL debe contener rootURl/modelUrl/slug .

  1. Si el título proviene del modelo del artículo, debería verse así: http://127.0.0.1:8000/article/python-is-amazing
  2. Si el título proviene del modelo qa, debería verse así: http://127.0.0.1:8000/qa/python-is-amazing
  3. Si el título proviene del modelo de video, debería verse así: http://127.0.0.1:8000/video/python-is-amazing

El segundo problema es que quiero mostrar una lista de títulos en la lista de autocompletar, pero necesito pasar el campo slug a la dirección URL. ¿Cómo puedo hacer eso?

archivo js

 //root URL const rootUrl = 'http://127.0.0.1:8000' //models URLs const articleURL = 'article' const qaURL = 'qa' const videoURL = 'video' new Autocomplete('#autocomplete', { search: input => { const url = `/search/?title=${input}` return new Promise(resolve => { if (input.length < 3) { return resolve([]) } fetch(url) .then(response => response.json()) .then(data => { resolve(data.data) }) }) }, onSubmit: result => { window.open(`${rootbUrl}/${qaURL}/${encodeURI(result)}`) }, autoSelect: true })

vistas.py

 def search_autocomplete(request): query = request.GET.get('title') search_list = [] if query: article_list = Article.objects.search_one(query=query).order_by('-publish') qa_list = QA.objects.search_one(query=query).order_by('-publish') video_list = Video.objects.search_one(query=query).order_by('-publish') search_list = map(lambda x: x.title, chain(article_list, qa_list, video_list)) return JsonResponse({'status':200, 'data': list(search_list)})
about 4 years ago · Juan Pablo Isaza
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