Python论坛  - 讨论区

标题:[python-chinese] django.contrib.auth定制问题

2007年07月26日 星期四 12:31

lee yaou yaoulee在gmail.com
星期四 七月 26 12:31:00 HKT 2007

hi 各位

经过一轮比较最后决定采用django框架开发新的web项目
为了节约时间,采用django.contrib.auth作为系统认证系统

一个问题是,如何定制auth中user的model?
比如我想改变用户帐号,用emil地址作为用户名,增加一个昵称

如果直接修改django中的源码的话,是不是会导致其他django项目不可用?
可有什么变通的办法么?

谢谢

Brian
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/4a9c288e/attachment.html 

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

2007年07月26日 星期四 12:47

haur hekun06在gmail.com
星期四 七月 26 12:47:24 HKT 2007

×Ô¼º½¨¸öUSER Ò²ºÜ·½±ã.......
ÕÕÑùʹÓÃÀï±ßµÄsession~~

ÔÚ07-7-26£¬lee yaou <yaoulee在gmail.com> дµÀ£º
>
> hi ¸÷λ
>
> ¾­¹ýÒ»ÂֱȽÏ×îºó¾ö¶¨²ÉÓÃdjango¿ò¼Ü¿ª·¢ÐµÄwebÏîÄ¿
> ΪÁ˽ÚԼʱ¼ä£¬²ÉÓÃdjango.contrib.auth×÷ΪϵͳÈÏ֤ϵͳ
>
> Ò»¸öÎÊÌâÊÇ£¬ÈçºÎ¶¨ÖÆauthÖÐuserµÄmodel£¿
> ±ÈÈçÎÒÏë¸Ä±äÓû§Õʺţ¬ÓÃemilµØÖ·×÷ΪÓû§Ãû£¬Ôö¼ÓÒ»¸öêdzÆ
>
> Èç¹ûÖ±½ÓÐÞ¸ÄdjangoÖеÄÔ´ÂëµÄ»°£¬ÊDz»ÊǻᵼÖÂÆäËûdjangoÏîÄ¿²»¿ÉÓã¿
> ¿ÉÓÐʲô±äͨµÄ°ì·¨Ã´£¿
>
> лл
>
> Brian
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/7ae56fca/attachment.html 

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

2007年07月26日 星期四 12:54

Brian Lee yaoulee在gmail.com
星期四 七月 26 12:54:27 HKT 2007

admin不是依赖auth么

如果修改auth或者自己采用user的话,会不会造成admin无法使用

On 7/26/07, haur <hekun06在gmail.com> wrote:
>
> 自己建个USER 也很方便.......
> 照样使用里边的session~~
>
> 在07-7-26,lee yaou <yaoulee在gmail.com> 写道:
> >
> > hi 各位
> >
> > 经过一轮比较最后决定采用django框架开发新的web项目
> > 为了节约时间,采用django.contrib.auth作为系统认证系统
> >
> > 一个问题是,如何定制auth中user的model?
> > 比如我想改变用户帐号,用emil地址作为用户名,增加一个昵称
> >
> > 如果直接修改django中的源码的话,是不是会导致其他django项目不可用?
> > 可有什么变通的办法么?
> >
> > 谢谢
> >
> > Brian
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/f51562a5/attachment.html 

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

2007年07月26日 星期四 13:37

Tian askfor在gmail.com
星期四 七月 26 13:37:48 HKT 2007

Èç¹û²»Ïë¸Ä¶¯Ì«´óÎÒÏë¿ÉÒÔ°ÑemailÉè³ÉºÍÓû§ÃûÒ»Ñù ÔÙÕÒÒ»À¸²»ÓõÄÐÅÏ¢µ±×÷êdzơ£

On 7/26/07, lee yaou <yaoulee在gmail.com> wrote:
>
> hi ¸÷λ
>
> ¾­¹ýÒ»ÂֱȽÏ×îºó¾ö¶¨²ÉÓÃdjango¿ò¼Ü¿ª·¢ÐµÄwebÏîÄ¿
> ΪÁ˽ÚԼʱ¼ä£¬²ÉÓÃdjango.contrib.auth×÷ΪϵͳÈÏ֤ϵͳ
>
> Ò»¸öÎÊÌâÊÇ£¬ÈçºÎ¶¨ÖÆauthÖÐuserµÄmodel£¿
> ±ÈÈçÎÒÏë¸Ä±äÓû§Õʺţ¬ÓÃemilµØÖ·×÷ΪÓû§Ãû£¬Ôö¼ÓÒ»¸öêdzÆ
>
> Èç¹ûÖ±½ÓÐÞ¸ÄdjangoÖеÄÔ´ÂëµÄ»°£¬ÊDz»ÊǻᵼÖÂÆäËûdjangoÏîÄ¿²»¿ÉÓã¿
> ¿ÉÓÐʲô±äͨµÄ°ì·¨Ã´£¿
>
> лл
>
> Brian
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/10d6790b/attachment.htm 

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

2007年07月26日 星期四 14:07

haur hekun06在gmail.com
星期四 七月 26 14:07:40 HKT 2007

×Ô´øµÄ¶«Î÷,´ÓÀ´Ã»Ê¹ÓõÄÏë·¨ºÍÐËȤ.....

ÔÚ07-7-26£¬Tian <askfor在gmail.com> дµÀ£º
>
> Èç¹û²»Ïë¸Ä¶¯Ì«´óÎÒÏë¿ÉÒÔ°ÑemailÉè³ÉºÍÓû§ÃûÒ»Ñù ÔÙÕÒÒ»À¸²»ÓõÄÐÅÏ¢µ±×÷êdzơ£
>
> On 7/26/07, lee yaou <yaoulee在gmail.com> wrote:
>
> > hi ¸÷λ
> >
> > ¾­¹ýÒ»ÂֱȽÏ×îºó¾ö¶¨²ÉÓÃdjango¿ò¼Ü¿ª·¢ÐµÄwebÏîÄ¿
> > ΪÁ˽ÚԼʱ¼ä£¬²ÉÓÃdjango.contrib.auth×÷ΪϵͳÈÏ֤ϵͳ
> >
> > Ò»¸öÎÊÌâÊÇ£¬ÈçºÎ¶¨ÖÆauthÖÐuserµÄmodel£¿
> > ±ÈÈçÎÒÏë¸Ä±äÓû§Õʺţ¬ÓÃemilµØÖ·×÷ΪÓû§Ãû£¬Ôö¼ÓÒ»¸öêdzÆ
> >
> > Èç¹ûÖ±½ÓÐÞ¸ÄdjangoÖеÄÔ´ÂëµÄ»°£¬ÊDz»ÊǻᵼÖÂÆäËûdjangoÏîÄ¿²»¿ÉÓã¿
> > ¿ÉÓÐʲô±äͨµÄ°ì·¨Ã´£¿
> >
> > лл
> >
> > Brian
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/741ff94a/attachment.htm 

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

2007年07月26日 星期四 14:27

风向标 vaneoooo在gmail.com
星期四 七月 26 14:27:14 HKT 2007

×Ô´øµÄ¶«Î÷¿ªÊ¼µÄʱºò¼á¾ö²»Ó㬾õµÃËÀ°å£¬ÍøÕ¾µÄºǫ́¸öÐÔÐèÇóÌ«¶àÁË¡£

ÏÖÔÚ·¢ÏÖ£¬ÔÚ¿ª·¢µÄʱºò×÷Ϊɾ³ýÌí¼ÓÊý¾ÝµÄµ÷ÊÔ¹¤¾ß»¹²»´í£¬ÖÁÉÙ²»ÓÃÔÚmanage.py shellÖÐÈ¥Ò»¸öÒ»¸öModel importÈ»ºó½¨Á¢Êý¾Ý
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/a169a59b/attachment.htm 

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

2007年07月26日 星期四 14:30

littlesea littlesea wzhlittlesea在gmail.com
星期四 七月 26 14:30:21 HKT 2007

Ö§³Ö·çÏò±ê

ÔÚ07-7-26£¬·çÏò±ê <vaneoooo在gmail.com> дµÀ£º
>
> ×Ô´øµÄ¶«Î÷¿ªÊ¼µÄʱºò¼á¾ö²»Ó㬾õµÃËÀ°å£¬ÍøÕ¾µÄºǫ́¸öÐÔÐèÇóÌ«¶àÁË¡£
>
> ÏÖÔÚ·¢ÏÖ£¬ÔÚ¿ª·¢µÄʱºò×÷Ϊɾ³ýÌí¼ÓÊý¾ÝµÄµ÷ÊÔ¹¤¾ß»¹²»´í£¬ÖÁÉÙ²»ÓÃÔÚmanage.py shellÖÐÈ¥Ò»¸öÒ»¸öModel importÈ»ºó½¨Á¢Êý¾Ý
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/c48e7a6d/attachment.html 

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

2007年07月26日 星期四 19:31

天天向上 tiananlw在gmail.com
星期四 七月 26 19:31:12 HKT 2007

django book 第12章
E文:http://www.djangobook.com/en/beta/chapter12/
中文:http://www.javaeye.com/article/51144

*轮廓*
最后一个难题是轮廓系统,为了理解轮廓是什么东西,让我们先看看问题:
简单的,许多站点需要存储比标准的User对象更多的用户信息,为了混合这个问题,大多数站点将有不同的"额外"域
这样,Django提供了一个定义链接到给定用户的"轮廓"对象的轻量方式,这个轮廓对象可以对每个项目不同,并且甚至
可以为同一数据库服务的不同的站点处理不同的轮廓
创建一个轮廓的第一步是定义存储轮廓信息的模型,Django对该模型的唯一需求是它有一个唯一的ForeignKey到User模型
这个域必须命名为user,除了这个,你可以使用其它任何你想要的域,这里是一个任意的轮廓模型:
代码

   1. from django.db import models
   2. from django.contrib.auth.models import User
   3.
   4. class MySiteProfile(models.Model):
   5.     # This is the only required field
   6.     user = models.ForeignKey(User, unique=True)
   7.
   8.     # The rest is completely up to you...
   9.     favorite_band = models.CharField(maxlength=100, blank=True)
   10.     favorite_cheese = models.CharField(maxlength=100
   , blank=True)
   11.     lucky_number = models.IntegerField()


下一步,你将需要告诉Django到哪里查找这个轮廓对象,你可以通过设置AUTH_PROFILE_MODULE为你的模型的标识符来做
这件事,所以,如果你的模型位于叫myapp的app,你需要将下面的内容放入你的settings文件:
AUTH_PROFILE_MODULE = "myapp.mysiteprofile"
一点完成这些,你可以通过调用user.get_profile()来访问用户的轮廓,如果AUTH_PROFILE_MODULE没定义的话这个方法
将触发SiteProfileNotAvailable异常,而且如果用户没有一个轮廓它将触发DoesNotExist异常(这时你通常将捕获这个异
常并创建一个新的轮廓)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/f33dd4dd/attachment.html 

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

2007年07月26日 星期四 19:46

Bruce Wang number5在gmail.com
星期四 七月 26 19:46:42 HKT 2007

On 7/26/07, 天天向上 <tiananlw在gmail.com> wrote:
>
> django book 第12章
> E文:http://www.djangobook.com/en/beta/chapter12/
> 中文:http://www.javaeye.com/article/51144
>
> *轮廓*
> 最后一个难题是轮廓系统,为了理解轮廓是什么东西,让我们先看看问题:
>

这里Profile 的意思应该是 "个人档案" 或者 "简介" 吧, 翻译成 "轮廓"?? 晕!


-- 
simple is good
http://brucewang.net
http://twitter.com/number5
skype: number5
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/a1903c3f/attachment.html 

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

2007年07月26日 星期四 19:46

黄毅 yi.codeplayer在gmail.com
星期四 七月 26 19:46:58 HKT 2007

profile, 轮廓
&*#%^(*^(%*&^%*(&#%(

On 7/26/07, 天天向上 <tiananlw at gmail.com> wrote:
>
> django book 第12章
> E文:http://www.djangobook.com/en/beta/chapter12/
> 中文:http://www.javaeye.com/article/51144
>
> *轮廓*
> 最后一个难题是轮廓系统,为了理解轮廓是什么东西,让我们先看看问题:
> 简单的,许多站点需要存储比标准的User对象更多的用户信息,为了混合这个问题,大多数站点将有不同的"额外"域
> 这样,Django提供了一个定义链接到给定用户的"轮廓"对象的轻量方式,这个轮廓对象可以对每个项目不同,并且甚至
> 可以为同一数据库服务的不同的站点处理不同的轮廓
> 创建一个轮廓的第一步是定义存储轮廓信息的模型,Django对该模型的唯一需求是它有一个唯一的ForeignKey到User模型
> 这个域必须命名为user,除了这个,你可以使用其它任何你想要的域,这里是一个任意的轮廓模型:
> 代码
>
>    1. from django.db import models
>    2. from django.contrib.auth.models import User
>    3.
>    4. class MySiteProfile(models.Model):
>    5.     # This is the only required field
>    6.     user = models.ForeignKey(User, unique=True)
>    7.
>    8.     # The rest is completely up to you...
>    9.     favorite_band = models.CharField(maxlength=100, blank=True)
>    10.     favorite_cheese = models.CharField(maxlength=100
>    , blank=True)
>    11.     lucky_number = models.IntegerField()
>
>
> 下一步,你将需要告诉Django到哪里查找这个轮廓对象,你可以通过设置AUTH_PROFILE_MODULE为你的模型的标识符来做
> 这件事,所以,如果你的模型位于叫myapp的app,你需要将下面的内容放入你的settings文件:
> AUTH_PROFILE_MODULE = "myapp.mysiteprofile"
> 一点完成这些,你可以通过调用user.get_profile()来访问用户的轮廓,如果AUTH_PROFILE_MODULE没定义的话这个方法
> 将触发SiteProfileNotAvailable异常,而且如果用户没有一个轮廓它将触发DoesNotExist异常(这时你通常将捕获这个异
> 常并创建一个新的轮廓)
>
>
>
> _______________________________________________
> 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
>



-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070726/7b3cc118/attachment-0001.htm 

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

2007年07月27日 星期五 09:42

Tian askfor在gmail.com
星期五 七月 27 09:42:10 HKT 2007

ÕâÑùÓû§Á¿´óµÄ»°Ð§ÂÊ»áÓÐÎÊÌâ°É£¿

On 7/26/07, ÌìÌìÏòÉÏ <tiananlw在gmail.com> wrote:
>
> django book µÚ12ÕÂ
> EÎÄ£ºhttp://www.djangobook.com/en/beta/chapter12/
> ÖÐÎÄ£ºhttp://www.javaeye.com/article/51144
>
> *ÂÖÀª*
> ×îºóÒ»¸öÄÑÌâÊÇÂÖÀªÏµÍ³£¬ÎªÁËÀí½âÂÖÀªÊÇʲô¶«Î÷£¬ÈÃÎÒÃÇÏÈ¿´¿´ÎÊÌâ:
> ¼òµ¥µÄ£¬Ðí¶àÕ¾µãÐèÒª´æ´¢±È±ê×¼µÄUser¶ÔÏó¸ü¶àµÄÓû§ÐÅÏ¢£¬ÎªÁË»ìºÏÕâ¸öÎÊÌ⣬´ó¶àÊýÕ¾µã½«Óв»Í¬µÄ"¶îÍâ"Óò
> ÕâÑù£¬DjangoÌṩÁËÒ»¸ö¶¨ÒåÁ´½Óµ½¸ø¶¨Óû§µÄ"ÂÖÀª"¶ÔÏóµÄÇáÁ¿·½Ê½£¬Õâ¸öÂÖÀª¶ÔÏó¿ÉÒÔ¶Ôÿ¸öÏîÄ¿²»Í¬£¬²¢ÇÒÉõÖÁ
> ¿ÉÒÔΪͬһÊý¾Ý¿â·þÎñµÄ²»Í¬µÄÕ¾µã´¦Àí²»Í¬µÄÂÖÀª
> ´´½¨Ò»¸öÂÖÀªµÄµÚÒ»²½ÊǶ¨Òå´æ´¢ÂÖÀªÐÅÏ¢µÄÄ£ÐÍ£¬Django¶Ô¸ÃÄ£Ð͵ÄΨһÐèÇóÊÇËüÓÐÒ»¸öΨһµÄForeignKeyµ½UserÄ£ÐÍ
> Õâ¸öÓò±ØÐëÃüÃûΪuser£¬³ýÁËÕâ¸ö£¬Äã¿ÉÒÔʹÓÃÆäËüÈκÎÄãÏëÒªµÄÓò£¬ÕâÀïÊÇÒ»¸öÈÎÒâµÄÂÖÀªÄ£ÐÍ:
> ´úÂë
>
>    1. from django.db import models
>    2. from django.contrib.auth.models import User
>    3.
>    4. class MySiteProfile(models.Model):
>    5.     # This is the only required field
>    6.     user = models.ForeignKey(User, unique=True)
>    7.
>    8.     # The rest is completely up to you...
>    9.     favorite_band = models.CharField(maxlength=100, blank=True)
>    10.     favorite_cheese = models.CharField(maxlength=100
>    , blank=True)
>    11.     lucky_number = models.IntegerField()
>
>
> ÏÂÒ»²½£¬Ä㽫ÐèÒª¸æËßDjangoµ½ÄÄÀï²éÕÒÕâ¸öÂÖÀª¶ÔÏó£¬Äã¿ÉÒÔͨ¹ýÉèÖÃAUTH_PROFILE_MODULEΪÄãµÄÄ£Ð͵ıêʶ·ûÀ´×ö
> Õâ¼þÊ£¬ËùÒÔ£¬Èç¹ûÄãµÄÄ£ÐÍλÓÚ½ÐmyappµÄapp£¬ÄãÐèÒª½«ÏÂÃæµÄÄÚÈÝ·ÅÈëÄãµÄsettingsÎļþ:
> AUTH_PROFILE_MODULE = "myapp.mysiteprofile"
> Ò»µãÍê³ÉÕâЩ£¬Äã¿ÉÒÔͨ¹ýµ÷ÓÃuser.get_profile()À´·ÃÎÊÓû§µÄÂÖÀª£¬Èç¹ûAUTH_PROFILE_MODULEû¶¨ÒåµÄ»°Õâ¸ö·½·¨
> ½«´¥·¢SiteProfileNotAvailableÒì³££¬¶øÇÒÈç¹ûÓû§Ã»ÓÐÒ»¸öÂÖÀªËü½«´¥·¢DoesNotExistÒì³£(ÕâʱÄãͨ³£½«²¶»ñÕâ¸öÒì
> ³£²¢´´½¨Ò»¸öеÄÂÖÀª)
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070727/63a7c0d8/attachment.html 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号