Web development with Python 3.1

Bruno Desthuilliers bruno.42.desthuilliers at websiteburo.invalid
Wed Oct 28 15:17:47 CET 2009

Dotan Cohen a écrit :
>>>>> While I know that to be true in the general sense, from what I've
>>>>> looked at Django and other frameworks it seems that the web frameworks
>>>>> push the coder to use templates, not letting him near the HTML.
>>>> Well... there must be a reason, for sure... No ?
>>> ֹYes, but I don't like it.
>> Why so ? What's your problem with templating systems, exactly ?
> They don't give me the control over the HTML that I would like. I'm
> probably stuck in 1998 when they didn't exist, but I like to write the
> HTML myself.


*Why* on earth do you think using a templating system will give you any 
less control on the generated HTML ?


>>>>> Django and the other frameworks seem to
>>>>> force the user to use templates.
>>>> Not at all. Nothing prevents you from shooting yourself in the foot and
>>>> generating HTML "by hand" in your view functions (or request handler
>>>> methods
>>>> etc, depending on the framework).
>>> How is this done in Django, then?
>> def index(request):
>>    unmaintanable_html = """
>> <html>
>>  <head>
>>    <title>Index</title>
>>  </head>
>>  <body>
>>    <h1>Embedded HTML is a PITA</h1>
>>    <p>but some like pains...</p>
>>  </body>
>> </html>
>> """
>>    return HttpResponse(unmaintanable_html)
> And if I need to add a variable or three in there?

- first solution : use string formatting

python 2.x example:

unmaintanable_html = """

data = dict(
   h1="Poor man's templating",
   text="Won't get you very far..."

return HttpResponse(unmaintanable_html % data)

- second solution: do basically the same thing with a template system - 
which will give you much more power and options...

> Static HTML I can
> do without Python.

Sorry, I forgot to setup a database etc for this example !-)

More information about the Python-list mailing list