si comienzo Python desde la línea de comandos y escribir:random.random pitón() hace que " 'módulo' objeto no es exigible" cuando se utiliza en la etiqueta nueva plantilla
import random
print "Random: " + str(random.random())
Me imprime un número aleatorio (Esperado, excelente).
Si incluyo los anteriores y dos líneas en models.py de mi aplicación Django y comienzo mi aplicación Django con la ejecución del servidor consigo la salida de la línea de comandos que me muestra un número aleatorio (genial!)
Si tomo una etiqueta personalizada, que funciona perfectamente bien lo contrario, pero incluyo
import random
print "Random: " + str(random.random())
como las 2 primeras líneas del archivo .py de la etiqueta personalizada, me sale un error cada vez que intento abrir una plantilla que utiliza esa etiqueta personalizada:
TypeError at /help/
'module' object is not callable
Tenga en cuenta que si elimino estas dos líneas, mi etiqueta personalizada se comportará como se espera y no se generará ningún error. Desafortunadamente, necesito un comportamiento aleatorio dentro de mi etiqueta de plantilla.
El problema es que si en una etiqueta personalizada que hago:
import random
en una etiqueta de plantilla personalizada, importa
<module 'django.templatetags.random' from '[snip path]'>
y no
<module 'random' from 'C:\\Program Files\\Python26\\lib\\random.pyc'>
ya que normalmente se importa de todos lados
La biblioteca de plantillas de Django tiene un filtro llamado aleatorio, y de alguna manera tiene prioridad sobre el sistema al azar.
¿Alguien puede recomendar cómo importar explícitamente el python adecuado al azar?
prueba: 'de la importación aleatoria al azar' – jfs