Python论坛  - 讨论区

标题:[python-chinese] 模版的替代问题

2007年03月23日 星期五 10:00

cuix cuix在cert.org.cn
星期五 三月 23 10:00:04 HKT 2007

Ö÷ÒªÒÉÎÊ:ÔÚ.pyÀïд"´´½¨htmlµÄÓï¾ä"ʱÊÇ·ñ¿ÉÒÔʹÓÃpythonÓï¾äÄØ?

£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª
¸ù¾ÝDjango Step by StepµÄ¼Ó·¨Æ÷(add)µÄÀý×Ó,
¿ÉÒÔ°ÑhtmlÖ±½ÓдÔÚ*.pyÀïÃæ.

ÒòΪÎҵijÌÐò²»¸´ÔÓ,ËùÒÔ²»ÏëʹÓÃÄ£°æ,´òËãÔÚ
*.pyÀïÖ±½Óдhtml,µ«ÊÇÉæ¼°µ½±äÁ¿µÄÎÊÌâ:

ÔÚAddressµÄÄ£°æÀï¿ÉÒÔд:

{% for person in object_list %}
    
      {{ person.name }}
      {{ person.mobile }}
      {{ person1.room }}
    
{% endfor %}

µ«ÊÇ,ÔÚ.pyÀï"´´½¨htmlʱ"ÊÇ·ñ¿ÉÒÔʹÓÃÕâÖÖpythonÓï¾äÄØ?
ÎÒÊÔÓÃÁ˲»ºÃʹ:
info_dict = {
    'name': '1',
    'tel': '3',    
}

text = """

ͨѶ¼

ÐÕÃû µç»° info_dict[name] aaaaaaaaa """ def index(request): return HttpResponse(text) cuix 2007-03-23 ·¢¼þÈË£º python-chinese-request在lists.python.cn ·¢ËÍʱ¼ä£º 2007-03-20 15:41:40 ÊÕ¼þÈË£º cuix在cert.org.cn ³­ËÍ£º Ö÷Ì⣺ »¶Ó­¼ÓÈë"python-chinese"µÄÓʼþÁÐ±í »¶Ó­¼ÓÈë python-chinese在lists.python.cn ÓʼþÁÐ±í£¡ ÒªÏòÁÐ±í·¢ÐÅ£¬Çë·¢Ë͵½ python-chinese在lists.python.cn ´ËÁбíµÄ³£¹æÐÅϢλÓÚ£º http://python.cn/mailman/listinfo/python-chinese Èç¹ûÄúÏëҪȡÏû¶©ÔÄ»òÕßÐÞ¸ÄÄúµÄÑ¡Ïî(ÀýÈ磬Çл»ÖÁժҪģʽ£¬Ð޸ĿÚÁîµÈ)£¬Çë·Ã ÎÊÄúµÄ¶©ÔÄÒ³£º http://python.cn/mailman/options/python-chinese/cuix%40cert.org.cn ÄúÒ²¿ÉÒÔͨ¹ýÓʼþÀ´×÷³öÕâЩµ÷Õû¡£·¢ËÍÒ»·âÖ÷Ìâ»òÕýÎĽö°üº¬µ¥´Ê'help'(ûÓÐÒý ºÅ)µÄÐżþµ½£º python-chinese-request在lists.python.cn Ö®ºóÄú»áÊÕµ½Ò»·âÐżþ£¬Ëü»áÖ¸µ¼Äú¾ßÌåµÄ²½Öè¡£ ÄúÐèÒªÖªµÀÄúµÄ¿ÚÁî²Å¿ÉÒÔÐÞ¸ÄÄúµÄÑ¡Ïî(°üÀ¨¿ÚÁî±¾Éí)»òÕßÈ¡Ïû¶©ÔÄ¡£ÄúµÄ¿ÚÁîÊÇ£º 4fen5lie Ò»°ãÀ´Ëµ£¬Ã¿¸öÔÂMailman¶¼»á¸øÄú·¢ËÍÒ»·âÌáʾº¯£¬¸æËßÄúÄúµÄÁбí¿ÚÁî¡£µ±È»£¬Èç ¹ûÄúÔ¸ÒâµÄ»°Ò²¿ÉÒÔ½ûÖ¹´ËÐÐΪ¡£Õâ·âÌáʾº¯Ò²»á¸æËßÄúÈçºÎÈ¡Ïû¶©ÔĺÍÈçºÎÐÞ¸ÄÄúµÄ Ñ¡Ïî¡£ÔÚÄúµÄÑ¡ÏîÒ³ÉÏÒ²ÓÐÒ»¸ö°´Å¥£¬µã»÷Ëü¾Í»á°ÑÄúµÄµ±Ç°¿ÚÁî·¢Ë͵½ÄúµÄÐÅÏäÖС£ -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070323/857889c8/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月23日 星期五 12:30

limodou limodou在gmail.com
星期五 三月 23 12:30:14 HKT 2007

On 3/23/07, cuix <cuix在cert.org.cn> wrote:
>
>
> 主要疑问:在.py里写"创建html的语句"时是否可以使用python语句呢?
>
> ************************************
> 根据Django Step by Step的加法器(add)的例子,
> 可以把html直接写在*.py里面.
>
> 因为我的程序不复杂,所以不想使用模版,打算在
> *.py里直接写html,但是涉及到变量的问题:
>
> 在Address的模版里可以写:
>
> {% for person in object_list %}
>     
>       {{ person.name }}
>       {{ person.mobile }}
>       {{ person1.room }}
>     
> {% endfor %}
>
> 但是,在.py里"创建html时"是否可以使用这种python语句呢?
> 我试用了不好使:
> info_dict = {
>     'name': '1',
>     'tel': '3',
> }
>
> text = """

通讯录

> > 姓名 > 电话 > > > info_dict[name] > aaaaaaaaa > > """ > > def index(request): > return HttpResponse(text) > 要看怎么写。你写的只是一个字符串,没有特殊的处理当然无法替换了。在.py中使用template就是使用python语句啊。template对于python来说只是一个库,你可以使用其它的模板库来处理。最简单的使用字符串处理,如:"%s" % 'abc'或"%(name)s" % {'name':'abc'}等。只要能生成你想要的字符串,怎么做是你的事,这完全是python的事了。方法太多了。甚至: "abc" + name['name'] + 'def'都可以。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月23日 星期五 12:39

cuix cuix在cert.org.cn
星期五 三月 23 12:39:39 HKT 2007

Ã÷°×ÁË. ¾ÍÊDzÉÓÃformat×Ö·û´®µÄ·½Ê½¶¯Ì¬Éú³ÉhtmlÎı¾,È»ºóͨ¹ýreturn HttpResponse(text)µÄ·½Ê½ÏÔʾ³öÀ´
Ч¹ûºÍÀûÓÃÄ£°æÊÇÒ»ÑùµÄ,¸Ð¾õÕâÑùҲͦºÃ,²»Âé·³.

¶àлlimodou!




cuix
2007-03-23



·¢¼þÈË£º limodou
·¢ËÍʱ¼ä£º 2007-03-23 12:28:12
ÊÕ¼þÈË£º python-chinese在lists.python.cn
³­ËÍ£º 
Ö÷Ì⣺ Re: [python-chinese]Ä£°æµÄÌæ´úÎÊÌâ

On 3/23/07, cuix  <cuix在cert.org.cn > wrote: > > > Ö÷ÒªÒÉÎÊ:ÔÚ.pyÀïд"´´½¨htmlµÄÓï¾ä"ʱÊÇ·ñ¿ÉÒÔʹÓÃpythonÓï¾äÄØ? > > £ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª£ª > ¸ù¾ÝDjango Step by StepµÄ¼Ó·¨Æ÷(add)µÄÀý×Ó, > ¿ÉÒÔ°ÑhtmlÖ±½ÓдÔÚ*.pyÀïÃæ. > > ÒòΪÎҵijÌÐò²»¸´ÔÓ,ËùÒÔ²»ÏëʹÓÃÄ£°æ,´òËãÔÚ > *.pyÀïÖ±½Óдhtml,µ«ÊÇÉæ¼°µ½±äÁ¿µÄÎÊÌâ: > > ÔÚAddressµÄÄ£°æÀï¿ÉÒÔд: > > {% for person in object_list %} >       >        {{ person.name }}  >        {{ person.mobile }}  >        {{ person1.room }}  >       > {% endfor %} > > µ«ÊÇ,ÔÚ.pyÀï"´´½¨htmlʱ"ÊÇ·ñ¿ÉÒÔʹÓÃÕâÖÖpythonÓï¾äÄØ? > ÎÒÊÔÓÃÁ˲»ºÃʹ: > info_dict = { >     'name': '1', >     'tel': '3', > } > > text = """ 

ͨѶ¼

> > ÐÕÃû > µç»° > > > info_dict[name] > aaaaaaaaa > > """ > > def index(request): > return HttpResponse(text) >Òª¿´Ôõôд¡£ÄãдµÄÖ»ÊÇÒ»¸ö×Ö·û´®£¬Ã»ÓÐÌØÊâµÄ´¦Àíµ±È»ÎÞ·¨Ìæ»»ÁË¡£ÔÚ.pyÖÐʹÓÃtemplate¾ÍÊÇʹÓÃpythonÓï¾ä°¡¡£template¶ÔÓÚpythonÀ´ËµÖ»ÊÇÒ»¸ö¿â£¬Äã¿ÉÒÔʹÓÃÆäËüµÄÄ£°å¿âÀ´´¦Àí¡£×î¼òµ¥µÄʹÓÃ×Ö·û´®´¦Àí£¬È磺"%s"% 'abc'»ò"%(name)s" %{'name':'abc'}µÈ¡£Ö»ÒªÄÜÉú³ÉÄãÏëÒªµÄ×Ö·û´®£¬Ôõô×öÊÇÄãµÄÊ£¬ÕâÍêÈ«ÊÇpythonµÄÊÂÁË¡£·½·¨Ì«¶àÁË¡£ÉõÖÁ£º "abc" + name['name'] + 'def'¶¼¿ÉÒÔ¡£ -- I like python!UliPad < >: http://wiki.woodpecker.org.cn/moin/UliPadMy Blog: http://www.donews.net/limodou_______________________________________________python-chinesePost: send python-chinese在lists.python.cnSubscribe: send subscribe to python-chinese-request在lists.python.cnUnsubscribe: send unsubscribe to python-chinese-request在lists.python.cnDetail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070323/d2fc2e64/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月23日 星期五 12:43

limodou limodou在gmail.com
星期五 三月 23 12:43:24 HKT 2007

On 3/23/07, cuix <cuix在cert.org.cn> wrote:
>
>
> 明白了. 就是采用format字符串的方式动态生成html文本,然后通过return
> HttpResponse(text)的方式显示出来
> 效果和利用模版是一样的,感觉这样也挺好,不麻烦.
>
> 多谢limodou!
>
的是。python本身的字符串就支持使用格式符(%)和template的功能,可以方便进行这样的处理。当然这样不容易做到显示与处理分离,所以一般对于复杂些的框架是不会这样做的。当然简单情况是可以考虑的。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号