小编Lak*_*sad的帖子

为django模型生成独特的哈希值

我想为每个模型使用唯一的哈希而不是ID.

我实现了以下功能,可以轻松地全面使用它.

import random,hashlib
from base64 import urlsafe_b64encode

def set_unique_random_value(model_object,field_name='hash_uuid',length=5,use_sha=True,urlencode=False):
    while 1:
        uuid_number = str(random.random())[2:]
        uuid = hashlib.sha256(uuid_number).hexdigest() if use_sha else uuid_number
        uuid = uuid[:length]
        if urlencode:
            uuid = urlsafe_b64encode(uuid)[:-1]
        hash_id_dict = {field_name:uuid}
        try:
            model_object.__class__.objects.get(**hash_id_dict)
        except model_object.__class__.DoesNotExist:
            setattr(model_object,field_name,uuid)
            return
Run Code Online (Sandbox Code Playgroud)

我正在寻求反馈,我怎么能这样做?我怎样才能改进它?有什么好坏和丑陋的?

python random django hash

17
推荐指数
4
解决办法
2万
查看次数

使用django admin创建整个Web应用程序

我当时认为django admin是一个实用程序,可以提供站点的可信管理员,完全访问站点的数据模型.

但是,在详细介绍了django admin之后,我了解到它是一组非常强大的视图和模板,可用于创建整个应用程序.

您是否经常使用管理员创建整个应用程序?使用视图本身比自定义管理员更容易吗?

如何使用admin构建原型.我们甚至需要构建原型吗?管理员自定义无法在实际应用程序中重复使用.

如果我想在实际应用程序中使用部分管理代码(使用不同的模板),是否有某种脚手架选项可用?

django web-applications django-admin

15
推荐指数
3
解决办法
6777
查看次数

禁用块的Markdown

Markdown语法通常可以方便地编写博客和评论;

但有时候当你想写一个简单的html时它会干扰内容

是否有标记/语法要求markdown忽略该部分,如prehtml标记?

如果预先工作,如果降价部分需要包含html标签怎么办?

html markdown plugins coding-style

15
推荐指数
2
解决办法
2万
查看次数

Python中的HTTP身份验证

什么是python urllib等效的

curl -u username:password status="abcd" http://example.com/update.json
Run Code Online (Sandbox Code Playgroud)

我这样做了:

handle = urllib2.Request(url)
authheader =  "Basic %s" % base64.encodestring('%s:%s' % (username, password))
handle.add_header("Authorization", authheader)
Run Code Online (Sandbox Code Playgroud)

有更好/更简单的方法吗?

python authentication curl http-headers

15
推荐指数
2
解决办法
1万
查看次数

你如何为非技术客户提供Django [或Ruby on Rails]的案例

商人通常希望开发Web应用程序.他们通过名称了解.net或J2EE,而不了解其中任何一个.

Altho'Rails和Django提供更好更快的开发堆栈,说服商人使用这些平台是一项重大任务.

任务开始于介绍Django(或Rails),引用一些博客/研究.然后为特定项目使用框架提供案例.

很多任务都是重复的.您使用什么来源/博客/白皮书和其他材料来制作django(或Rails)的案例

难道你不认为应该有一个共同的小册子,很多开发机构可以用来制造同样的案例,一次又一次.现在有没有这样的?

关于Django vs Rails似乎有足够的讨论.虽然需要(Django和Rails)vs(.net和J2EE),但至少在做商业案例的时候.两者都代表了动态语言中更快速实用的Web开发.

ruby python django ruby-on-rails

14
推荐指数
3
解决办法
2070
查看次数

使用pip或easy_install从repos安装Python包

到目前为止,处理python包安装的最简单方法是从源代码控制系统中检查源代码,然后在python dist-packages文件夹中添加一个符号链接.

显然,由于源代码控制提供了降级的完全控制,升级到任何分支,标签,它运行良好.

有没有办法使用其中一个Package安装程序(easy_install或pip或其他),可以实现相同的功能.

easy_install获取tar.gz并使用安装在python2.6的dist-packages文件夹中的setup.py install进行安装.有没有办法配置它,或者pip来使用源版本控制系统(SVN/GIT/Hg/Bzr).

python svn version-control pip easy-install

14
推荐指数
2
解决办法
1万
查看次数

Pythonic在for循环中使用'else'的方法

我几乎没有注意到在for循环中使用else的python程序.

我最近使用它在退出时根据循环变量条件执行操作; 因为它在范围内.

在for循环中使用else的pythonic方法是什么?有没有值得注意的用例?

而且,是的.我不喜欢使用break语句.我宁愿将循环条件设置为复杂的.如果我不喜欢使用break语句,我能从中获得任何好处吗?

值得注意的是,自语言开始以来,for循环有一个else,这是第一个版本.

python for-loop

13
推荐指数
4
解决办法
1151
查看次数

Git在分支中排除提交

我有一个提交,我已经存储在一个分支中,因为这应该只发送到一个特定的框.

我已将它合并到分支主服务器,但不是我在本地使用的分支dev.

现在,我错误地将master合并到dev,并将此提交引入了dev.

我知道可以git revert sha,to branch dev; 但是因为这将引入一个撤消提交的提交(我猜,我还没有完全尝试过这个),当我合并master时,这个提交也会撤消吗?

如果是这样,我如何仅从分支dev撤消此提交.

哦, - git reset HEAD^1hard不是一个选项,因为在不需要的提交之后,master上还有其他提交.

如果再次重置并且apply是唯一的选项,那么除了不需要的提交之外,我如何仅从master合并那些额外的提交.

更新:

这是提交树.看起来很复杂 我已经指出了我在开发中不需要的提交.(我也删除了任何个人身份信息,感谢理解.截图gitk比ascii艺术要简单得多.) 替代文字

提前致谢!

git commit revert

13
推荐指数
1
解决办法
8687
查看次数

如何在没有模板的情况下从django视图模拟HTTP Post请求

我正在撰写观点,不太热衷于立即编写模板.

但我需要通过提交帖子请求来测试我的程序.

我如何在django视图中模拟HTTP Post

我知道python的urllib2和httplib模块允许很多选项,但我正在寻找优雅地集成到django视图中的东西.

你会创建一个执行post的方法,你会在哪里调用它?

更新:一些答案通过向我的应用程序发送POST来处理测试.如果我想POST到外部服务并处理POST响应,该怎么办?如何在不编写模板的情况下完成.

django unit-testing http

12
推荐指数
1
解决办法
1万
查看次数

克服git svn警告

我正在阅读git-svnCAVEATS.通过这个SO问题.

我的理解是:

如果您在git repo上镜像svn trunk,branches等,请不要在这些分支上本地合并或重新绑定任何内容.具体master指向了trunk.

我的观点是,这会使git-svn残缺.git有什么意义,如果我不能从master分支然后将更改后的分支合并回主服务器?也许我在警告中遗漏了一些警告,说可以合并某些具有相同父级而没有任何rebase的分支.

任何人都可以向我指出需要避免什么以及允许什么.我想要本地分支,如果需要,那些需要被镜像和合并,最重要的是git应该进行合并而不是svn.

如果我使用git branches来镜像svn分支而且我不能合并git分支,那么git-svn究竟是什么意思呢?

svn git version-control git-svn

12
推荐指数
1
解决办法
1139
查看次数