Python django开发网站发现的问题
最近在学习用django开发一个简单的网站,但是发现除了django、python还得需要不少网站开发的经验,比如说session,cookie的知识,以及一些数据库方面的应用知识。现在是遇到这类问题都是去问Google,这样的问题就是:
- 解决特定问题花费太长时间;
- 找到的说不定是已经被抛弃的解决方法;
- 学习的不够系统,东一块西一块,很是凌乱;
- 可能会忽略掉某些重要的东西。
那么有没有这样一本书,基本涵盖了以下内容:
- 网站的登录功能怎么实现:密码的存储机制、重置密码时链接的生成算法,第三方认证的原理等等。
- 介绍设计网站数据库时应该注意哪些问题。比如说有一个编辑框,可以让用户输入2MB以下的文字,同时还允许插入图片,链接等,那么这个编辑框获取到的内容该如何在数据库存储。
- 其他我暂时没遇到的网站开发中的问题。
或者是有没有一些好的讨论组、社区可以加入,或者一些小型的开源项目可以拿来参考。总之呢,我现在需要一个方向,希望有经验的前辈可以指一下路!
1.网站的登录功能怎么实现:密码的存储机制、重置密码时链接的生成算法,第三方认证的原理等等。
django的密码储存是 Hash+salt 并迭代 第三方认证是用oauth2
django-admin里面有写了哦 循环1000次加密算法
google关键词 hash salt,oauth2
2.介绍设计网站数据库时应该注意哪些问题。比如说有一个编辑框,可以让用户输入2MB以下的文字,同时还允许插入图片,链接等,那么这个编辑框获取到的内容该如何在数据库存储。
输入文字大小限制,额 要我做 我就先前段限制一下,后台判定下 字符串长度,数据库里面用TextField保存
图片的话分开处理,后台把图片存到media里面,数据库里存media地址。
ps。我都是存html代码到数据库,省事情
3.其他我暂时没遇到的网站开发中的问题。
这个说3天3夜都说不完,我就说一点 ide强力推荐pycharm 谁用谁知道
你没有明白django的设计理念,自带用户登录系统已经超级棒,你只需要看django 官方文档 学会正常使用就好,入门不需要掌握很多细节,凭空增加难度
你需要的功能都有相应的django app
第三方登录 OAUTH:https://github.com/yueyoum/social-oauth
编辑器:
https://github.com/aljosa/django-tinymce
入门跟着the django book 然后自己做个blog入门
国内django社区都不太活跃
django-china官方群可以加加 不会的可以在群里问
segmentfault 首次回答问题 求赞=。= 逃
Django 官方文档:https://docs.djangoproject.com/en/1.7/
很完整,很详细还有例子。在SO上面关于Django的提问很多都会给出官方文档的链接。弱弱的说,我也没看完官方文档,遇到问题把范围内的都看一遍差不多了。最近在看一本Djangp best practices,对于我这种之前没有任何开发基础的来说帮助很大。
希望可以帮到你。
django book,入门
django doc查找细节api
手边弄一本python的工具书,边写边总结
题主你说的这些问题,其实包含了很多方面的知识。比如sessiion、cookie这些,就需要了解HTTP协议的基本知识。HTTP协议的参考书籍,入门可以看看《图解HTTP》,想深入了解,可以阅读《HTTP权威指南》。至于其他的实践方面的问题。你需要的,是一个系统的案例。如果有耐心的话,建议直接看看Django的django.contrib.auth源代码,可以解答你对于用户注册相关流程的一些疑问。也可以参考一些用Django搭建的大型项目,比如Django CMS的源码。这种大型工程,可以解答你上面所有的问题。这些都是开源软件,随时可以查看的。如果题主真的喜欢Web开发,那么阅读源代码是必须要做的。而且Python工程的源码,在众多编程语言中,算是比较容易读的了,希望题主能够养成这个习惯。
1、解决特定问题花费太长时间---学习技术总有一个瓶颈期和暴涨器,如果想快速过瓶颈期,就要从基础理论实现的角度融汇贯通各种技术形式
2、找到的说不定是已经被抛弃的解决方法;---这个需要对业界的最新技术前沿保持持续专注。---天下代码一大抄,复用从某种角度还是"抄"。
3、学习的不够系统,东一块西一块,很是凌乱;---同第一个问题的最后一句话
4、可能会忽略掉某些重要的东西。---大成若缺,求完美是不可能的,老外招技术,喜欢招从小就搞那东西的人。
那么有没有这样一本书,基本涵盖了以下内容:
1、网站的登录功能怎么实现:密码的存储机制、重置密码时链接的生成算法,第三方认证的原理等等。
2、介绍设计网站数据库时应该注意哪些问题。比如说有一个编辑框,可以让用户输入2MB以下的文字,同时还允许插入图片,链接等,那么这个编辑框获取到的内容该如何在数据库存储。
3、其他我暂时没遇到的网站开发中的问题。
---上面这三个问题,基本都不是个事。
或者是有没有一些好的讨论组、社区可以加入,或者一些小型的开源项目可以拿来参考。总之呢,我现在需要一个方向,希望有经验的前辈可以指一下路!---做码农就是场脑力持久战。
django的contrib多研究研究 好东东尽在其中
你问的这些基本没有最佳实践
密码储存一般 Hash+salt,这篇文章不错 http://blog.jobbole.com/61872/
密码重置链接的做法很多,uuid4 是一个比较好的选择。
编辑的格式就更多了,segmentfault 用的是 markdown,但是中国的非技术社区更常见使用论坛的那种格式。
如果lz不介意玩一下Ruby on Rails的话,可以考虑阅读 http://railstutorial-china.org/rails4/
django 不了解,你可以看一下 https://github.com/pythoncn/june 这个项目,它目前的版本是用 flask 写的,先前应该也用 tornado 写过一个版本。
你所碰到的问题,是你以后一定会碰到的。如果需要 Google,那你就去 Google,把 Google 到的答案试一遍,不行再来过。
常做笔记。
经历过这个阶段(需要哪些,有哪些坑,哪些可以提升等等),你用任何一门语言、框架开发一个 web 项目,都不在话下了,只需要花一点时间了解一下那门语言的语法、框架的文档等等。
我的建议是找一个比较简单,功能没那么 强大
的框架开始,比如 tornado 啊 flask 啊 web.py 啊之类的。这个过程中,你可能会遇到更多问题(那些强大框架已经处理但简单框架没有处理的),但挺过去就好了!
加油!
更新 2015-01-19
更新一下,不建议使用 flask 啦……这货依赖它家自己写的另一个 HTTP 服务框架,个人觉得学习成本较高,绕来绕去,不利于学习。如果它整合在一起还是很不错的。
还是推荐 tornado
吧。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19062.html
相关文章 Recommend
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • [上海]招Python量化系统开发工程师
- • 优集品网络科技有限公司招Python中/高级工程师
- • 爱因互动科技发展有限公司招募Python开发攻城狮
- • mozio招聘Python/Django工程师
- • Kavout金融科技公司招Python研发工程师
- • Python数组逆向输出,编程练习题实例四十
- • Python数组插入排序,编程练习题实例三十九
- • Python矩阵for循环应用,编程练习题实例三十八
- • Python操作Redis数据库方面的问题
- • 请python高手帮我看看这段python代码中函数setter的
- • Python什么方法可以快速将两个队列变成字典
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • django app提供pv信息的方法是什么
- • Django项目版本升级如何操作?
- • django较多数据传递如何优雅的呈现
- • django1.7获取参数问题求助
- • Django1.7使用内置comment遇到问题
- • python mysql数据库做insert操作时报_mysql_ex
- • 关于python mysql的duplicate insert机制的疑问
- • pymongo使用insert函数批量插入被中断要怎么
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
图文精华 RECOMMEND
-
django1.7获取参数问题求助
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问