Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
Obtener ruta relativa en Django

Creé un mapa en el que quiero implementar algunos archivos kml. Si codifico la URL, funciona, pero estoy tratando de pasarla a través de una variable porque estoy tratando con muchos archivos kml en un bucle for. A pesar de que la ruta de URL que obtengo en la consola es correcta, no obtengo el resultado que necesito. ¿Alguna idea de cómo solucionarlo?

vista:

 def map(request): field_list = models.Field.objects.all() context = { "title": "Map", "field_list": field_list, } template = 'agriculture/map.html' return render(request, template, context)

Si codifico la URL, es así:

 var polygon = omnivore.kml("{% static '../media/kml/user_admin/2022-04-07-2-Arnissa_cherry.kml' %}", ... );

Intenté hacerlo de esta manera, pero aunque la ruta que estoy obteniendo es correcta, parece que Django no lee la ruta (kml es FileField en mi modelo):

mapa.html

 {% for field in field_list %} $(".search_area").append(new Option("{{field.friendly_name}}")); //friendly name var kmldir = "../media/" + "{{field.kml.name}}" console.log(kmldir) // ../media/kml/user_admin/2022-04-07-2-Arnissa_cherry.kml var polygon = omnivore.kml("{% static 'kmldir' %}", null, new L.GeoJSON(null, { //file url style: function() { return { color: 'red', transparent: true, opacity: 1, fillOpacity: 0.05 }} })); kml_arr.push([polygon, "{% static 'kmldir' %}"]); //file url {% endfor %}
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intenté un enfoque diferente y funcionó.

 {% for field in field_list %} {% with "../media/"|add:field.kml.name as fieldname %} $(".search_area").append(new Option("{{ field.friendly_name }}")); //friendly name var polygon = omnivore.kml('{% static fieldname %}', null, new L.GeoJSON(null, { //file url style: function() { return { color: 'red', transparent: true, opacity: 1, fillOpacity: 0.05 } } })); kml_arr.push([polygon, '{% static fieldname %}']); //file url {% endwith %} {% endfor %}
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda