正在做一个完整的Django用户系统app,欢迎大家贡献代码

2013-06-12 23:36:21 +08:00
 yueyoum
https://github.com/yueyoum/django-siteuser

目标就是在写新站点的时候,不用再在用户系统上浪费时间

具体说明可以看github,

欢迎大家提建议,fork & pull request
17355 次点击
所在节点    Python
41 条回复
nick32m
2013-06-13 11:10:05 +08:00
顶一下
jinbakei
2013-06-13 11:14:43 +08:00
加油!有用!
niko
2013-06-13 12:21:05 +08:00
这个支持一下~正在用java写,呵呵
kk71
2013-06-13 15:12:05 +08:00
啊啊好东西!
llbgurs
2013-06-13 20:58:51 +08:00
开源什么许可?
okidogi
2013-06-13 21:24:28 +08:00
这个系统完全可以将 django-registration, django-profile, django-social-auth, django-avatar 组合起来,改改template就行了。重复开发费时费力的。

或者直接用pinax, https://github.com/pinax/pinax
yueyoum
2013-06-13 22:54:22 +08:00
@okidogi
恩, 经常逛github 你说的那些我也知道,但并不是我想要的。
虽然这些我没用过, 但看源码发现了这些问题

django-registration 使用了django内建的 auth.User 因为admin用户也在这个表中,我个人不喜欢将普通用户与管理员帐号放到一张表中

django-profile 也是同样的使用了 auth.User

django-social-auth 到是可以自己指定user表,但其自身并不是面向中国大陆的,所以,其自身只提供了 豆瓣和新浪微博 的认证。
而我自己有一个 socialoauth 库, 支持了大陆8大网站的认证, 所以这块还是自己做的方便。

django-avatar 是一个用户可以有多个头像,这种我觉得不需要,而且大陆网站似乎很少提供这种让用户传多个头像,然后想换的时候就换的功能,所以新建立的面向大陆用户的网站还是保持一个用户一个头像的好

好像django-profile 也可以上传头像,
但这两个上传的效果如何,并不知道。

我也有一个 django-upload-avatar ,它更符合国人的使用习惯, 选择图片后可以剪裁预览。

并且,我现在这个项目是完完全全面向国内网站的,所以内部直接用了汉字。没用i18n,
django在关闭 I18N的情况下,性能有少许提升

可以参考它们的代码,但如果学习一个库的代价远远大于自己实现的时候, 还不如自己直接实现来的好。
yueyoum
2013-06-13 22:55:53 +08:00
@llbgurs
BSD 等项目完成后, 会放上 LICENSE
moyaya
2013-06-13 22:56:26 +08:00
这个非常的支持,当初我们开发这个花了不少时间。
yueyoum
2013-06-13 22:59:06 +08:00
@moyaya
啊, 方便的话,就放到github上, 好让我去围观下
soli
2013-06-13 23:04:58 +08:00
感兴趣。围观。
metaclass
2013-06-14 00:02:12 +08:00
你这个说是不重新发明轮子,其实是自己发明了一套轮子……不过Django 1.5开始支持自定义用户系统了,只要按照它的规范做好几个需要的东西,别的app都能兼容

简单看了下代码,还是比较规范的。支持!另外建议项目语言搞成英文的,这样参与者更多
metaclass
2013-06-14 00:05:21 +08:00
@yueyoum 你可以看看django-userena和django-allauth,我两个项目分别用了它们。django-allauth是集成了local用户系统和social用户系统,其social用户系统可以挂载多个账户。代码质量上django-userena高一些,django-allauth的比较山寨,供你参考
yueyoum
2013-06-14 10:18:59 +08:00
@metaclass 好,我研究下 userena
yueyoum
2013-06-15 23:13:53 +08:00
今天把 修改/重置 密码的功能加上了。
现在 用户系统 本身 的功能基本完成了。

下面就是 完善 ,并且再加上 通知系统
coosir
2013-06-16 09:17:45 +08:00
不错 其实我想问有没有php版类似的东东
risent
2013-06-16 13:59:01 +08:00
好奇一下问什么要重写一个send_mail? 如果用Django自带的mail系统,只需settins.py里配置个不同的backend(比如django-celery-email)就可以实现邮件的异步发送了.
yueyoum
2013-06-16 14:10:04 +08:00
@risent 你说的对, 我那个自己写的send_mail只是暂时之举,最后会替换掉的。
risent
2013-06-16 14:24:56 +08:00
@yueyoum 顺便问下楼主如果遇到一个project下的apps太多,导致user字段过多的时候,想把apps分到不同的project下面去的时候,这个user系统怎么处理比较好?
yueyoum
2013-06-16 20:13:34 +08:00
@risent
没明白你的问题

apps 多少 和 user字段有必要联系?
如果一个app干的事情和 user 本身没丝毫关系, 那它不会给user增加字段的。

我的理解是一个站点一个project, 不同的project就是不同的站点的。

或者你举个例子,我看看你说的是哪种情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/72177

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX