Python论坛  - 讨论区

标题:[python-chinese] Re: [CPUG] Re: [Blog转贴][Django学习]一步一步学习(一)

2006年01月10日 星期二 14:48

limodou limodou at gmail.com
Tue Jan 10 14:48:24 HKT 2006

在 06-1-10,Albert Lee<hanzhupeng at gmail.com> 写道:
> ok ,  我已经做了一个简单的 扩展tag 的例子了,我想可以解决了
>
> 1。 在 app templatetags 目录下增加  announce_extra.py
>
> #coding=utf-8
> from django.core import template
> from django.core.template import loader, Context
>
> register = template.Library ()
>
> from django.models.announce import announces
>
> @register.tag(name="announce_sect")
> def do_current_time(parser, token):
>     return AnnounceSectNode()
>
> class AnnounceSectNode(template.Node ):
>     def __init__(self):
>         pass
>     def render(self, context):
>         t = loader.get_template('announce')
>         c = Context({
>             'announces': announces.get_list()
>         })
>
>          return t.render(c)
>
> 2.   在要用到的模板中:
>
>     

Announces {% announce_sect %}.

> > > 主要是自定义一个 > Node类型,然后注册一个自定义tag函数,返回这个Node类型就可以了,这样就可以把不同的app的内容分开了 > > 在这个基础上,应该可以继续自定义实现Portal的功能 > 好呀。我想使用tag的话,只要修改下模板可以很方便地对不同的tag进行组合。另外如果实现的复杂点,可以做出象for之类或传入参数的tag来,以满足不同条件的应用。这样的适用性更强。 -- I like python! My Blog: http://www.donews.net/limodou NewEdit Maillist: http://groups.google.com/group/NewEdit

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

2006年01月13日 星期五 20:26

风向标-Vane vaneoooo at gmail.com
Fri Jan 13 20:26:53 HKT 2006

一步一步学习(六)

学习至:


注意 PYTHONPATH 需要设为 newtest 的父目录,我的 newtest 的全路径为:d:\test\newtest
。你的可能与我不同,请注意修改。不这样做不行,manage.py只是在用它的时候才起作用,但在命令行下使用
Python<http://www.python.org/>则需要手工设置。因此可以把这种设置写成一个批处理就好了。

进入 Python <http://www.python.org/>

>>> from django.models.wiki import wikis

这一步的时候.报错提示:
Traceback (most recent call last):
  File "", line 1, in -toplevel-
    from django.models.wiki import wikis
  File "c:\python24\lib\site-packages\django-
0.90-py2.4.egg\django\models\__init__.py", line 1, in -toplevel-
    from django.core import meta
  File "c:\python24\lib\site-packages\django-
0.90-py2.4.egg\django\core\meta\__init__.py", line 1, in -toplevel-
    from django.conf import settings
  File "c:\python24\lib\site-packages\django-
0.90-py2.4.egg\django\conf\settings.py", line 29, in -toplevel-
    raise EnvironmentError, "Environment variable %s is undefined." %
ENVIRONMENT_VARIABLE
EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.

之前已经在cmd中进到newtest目录分别输入:

set PYTHONPATH=C:\python24\tools\scriprs  #  此为newtest父目录
set DJANGO_SETTINGS_MODULE=newtest.settings

请教错误原因.谢谢




在06-1-10,limodou <limodou at gmail.com> 写道:
>
> 在 06-1-10,Albert Lee<hanzhupeng at gmail.com> 写道:
> > ok ,  我已经做了一个简单的 扩展tag 的例子了,我想可以解决了
> >
> > 1。 在 app templatetags 目录下增加  announce_extra.py
> >
> > #coding=utf-8
> > from django.core import template
> > from django.core.template import loader, Context
> >
> > register = template.Library ()
> >
> > from django.models.announce import announces
> >
> > @register.tag(name="announce_sect")
> > def do_current_time(parser, token):
> >     return AnnounceSectNode()
> >
> > class AnnounceSectNode(template.Node ):
> >     def __init__(self):
> >         pass
> >     def render(self, context):
> >         t = loader.get_template('announce')
> >         c = Context({
> >             'announces': announces.get_list()
> >         })
> >
> >          return t.render(c)
> >
> > 2.   在要用到的模板中:
> >
> >     

Announces {% announce_sect %}.

> > > > > > 主要是自定义一个 > > Node类型,然后注册一个自定义tag函数,返回这个Node类型就可以了,这样就可以把不同的app的内容分开了 > > > > 在这个基础上,应该可以继续自定义实现Portal的功能 > > > > > 好呀。我想使用tag的话,只要修改下模板可以很方便地对不同的tag进行组合。另外如果实现的复杂点,可以做出象for之类或传入参数的tag来,以满足不同条件的应用。这样的适用性更强。 > > -- > I like python! > My Blog: http://www.donews.net/limodou > NewEdit Maillist: http://groups.google.com/group/NewEdit > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060113/86b958e7/attachment-0001.htm

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号