2016-04-20 9 views
2

Хорошо, поэтому я пытаюсь создать веб-страницу генератора случайных чисел, используя Django/Python. То, что мне нужно сделать, это как-то использовать код python в моем файле шаблона HTML, за исключением того, что я не могу узнать, как это сделать.Как сгенерировать случайное число в шаблоне Django python?

<h1 style="font-size:50px;line-height:20px;color:rgb(145,0,0);font- family: Arial Black, Gadget, sans-serif"></h1> 
<h2 style="line-height:10px;color:rgb(140,140,140)"></h2> 
<h3 style="font-size:40px;line-height:10px;font-family: Arial Black, Gadget, sans-serif"></h3> 
<body style="background-color:rgb(255,239,154)"></body> 
<!--Style placeholders--> 


<h1 style="text-align:center;position:relative;top:20px"> 
Test Site 
</h1> 

<!--Reroll icon--> 
<h1 style="text-align:center;position:relative;top:20px"> 
<input type='image' style='width:60px;height:56px;' src='../../static/polls/dice.png' alt='Re-roll' 
onclick='location.reload();' value='Roll' /></h1> 
+3

Если вы не используете Django, то почему нет t генерирует случайное число в представлении и передает его в шаблон оттуда? – Jkdc

+1

Любой код Python в вашем проекте Django/Python? ;-) – Alfe

+0

Я могу помочь вам выполнить метод @Jkdc (в комментарии) ....! – rakwen

ответ

2

Там нет встроенного способа сделать это. Если все, что вам нужно, это случайное значение, один раз, и вы не хотите передавать это из функции просмотра, я предполагаю, что этот шаблон является тегом.

В любом соответствующем приложении, создайте файл templatetags/random_numbers.py (и пустой templatetags/__init__.py, если у вас нет каких-либо других тегов пользовательских шаблонов) со следующим содержанием:

import random 
from django import template 

register = template.Library() 

@register.simple_tag 
def random_int(a, b=None): 
    if b is None: 
     a, b = 0, a 
    return random.randint(a, b) 

Затем в шаблоне использовать его как это:

{% load random_numbers %} 

<p>A random value, 1 ≤ {% random_int 1 10 %} ≤ 10.</p> 

Дополнительная документация на пользовательские теги: https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/