2015-05-14 2 views
0

Я хотел бы использовать некоторые HTML-сообщения в функции прерывания турбодвигателей.Функция прерываний Turbogears автоматически выходит из HTML-кода

Хотя название не соответствует точно (я использую функцию 'tg.abort'), это определение прерывания я нашел: abort

Код, используемый в данный момент:

from tg import abort 
message="The following {} occured, this is due to {}, please visit this url : {}".format(error, reason, url) 
abort(status_code=502, detail=message) 

I хотел бы иметь что-то вроде этого:

from tg import abort 
message="""The following error occured : {}</br> 
      The most probable reason would be {} </br> 
      <a href="{}">Your solution might be found here</a> 
      """.format(error, reason, url) 
abort(status_code=502, detail=message) 

Я думаю, что содержание автоматически экранировано.

код HTML страницы генерируется из функции прерывания, endering что-то вроде этого:

<html> 
 
<head> 
 
    <title>502 Bad Gateway</title> 
 
</head> 
 
<body> 
 
    <h1>502 Bad Gateway</h1> 
 
    Bad gateway.<br /><br /> 
 
The following error occured : hungry&lt;br/&gt; 
 
The most probable reason would be : maybe you should eat &lt;/br&gt; 
 
&lt;a href=&quot;http://dummyurl&quot;&gt;Your solution might be found here&lt;/a&gt; 
 

 

 

 
</body> 
 
</html>

Если у вас есть какие-либо идеи о том, как вставить HTML код, не избежать, я был бы очень заинтересован , Кроме того, я действительно сосредоточен на методе прерывания здесь, я знаю, что я мог бы использовать некоторую выделенную страницу, которая использовала бы схему шаблонов (например, остальную часть сайта).

спасибо.

С уважением

ответ

0

Сообщение об ошибке фактически подвергается в controllers/error.py кода в приложении. Поэтому, если вы хотите разоблачить сообщение от прерванных деталей, вы должны получить его и вернуть в ErrorController.

Это делается по умолчанию для новых быстро запускаемых проектов (см. https://github.com/TurboGears/tg2devtools/blob/master/devtools/templates/turbogears/%2Bpackage%2B/controllers/error.py_tmpl#L27), но это не было сделано в старых версиях.

Смежные вопросы