我正在使用Django和django-rest-framework构建RESTful API .
作为认证机制,我们选择了"令牌认证",并且我已经在Django-REST-Framework的文档之后实现了它,问题是,应用程序是否应该定期更新/更改令牌,如果是,如何?应该是需要续订令牌的移动应用程序还是Web应用程序应该自动执行此操作?
什么是最佳做法?
这里的任何人都有使用Django REST Framework的经验,可以提出技术解决方案吗?
(最后一个问题的优先级较低)
我有这个代码:
fields = ['name','email']
def clean_name():
pass
def clean_email():
pass
Run Code Online (Sandbox Code Playgroud)
我怎么能叫clean_name()和clean_email()动态?
例如:
for field in fields:
clean_{field}()
Run Code Online (Sandbox Code Playgroud)
我使用了花括号,因为它是我以前在PHP中使用它的方式,但显然不起作用.
如何用Python做到这一点?
我这样配置了我的开发服务器:
Ubuntu,Apache,mod_wsgi,Python 2.6
我从连接到它的另一台计算机上工作.
除非我重新启动Apache,否则大多数情况下更改不会影响应用程序.在某些情况下,更改会在不重新启动Web服务器的情况下生效,但在让我们说3或4页加载后,应用程序的行为可能与更改之前的行为相似.
到现在为止我只是重新加载每次apache,因为我在这里有我的开发服务器,但是HELL过了一段时间后非常讨厌.我怎么能避免这个?
我无法使用开发服务器,因为我需要一个尽可能接近生产环境的环境.
谢谢
我刚刚了解到,使用Rails可以在控制台中用几行代码模拟HTTP请求.
查看:http://37signals.com/svn/posts/3176-three-quick-rails-console-tips("深入了解您的应用"部分).
用Django有类似的方法吗?会很方便的.
我有西班牙当局(FNMT)颁发的有效证书,我想玩它以了解更多相关信息.该文件的扩展名为.p12
我想阅读其中的信息(名字和姓氏)并检查证书是否有效.用pyOpenSSL可以做到吗?我想我必须在OpenSSL中使用加密模块.任何帮助或有用的链接?试着在这里阅读:http://packages.python.org/pyOpenSSL/openssl-crypto.html但信息不多:-(
想象一下,用户在网站上执行操作并通知管理员的情况.想象一下,有20个管理员要通知.通过使用常规方法与Django发送电子邮件,用户必须等到所有电子邮件发送后才能继续.
如何在单独的过程中发送所有电子邮件,以便用户无需等待?可能吗?
当我以前在需要搜索引擎索引内容的项目中异步加载页面时,我使用了一种非常简单的技术,那就是
<a href="page.html" id="example">Page</a>
<script type="text/javascript">
$('#example').click(function(){
$.ajax({
url: 'ajax/page.html',
success: function(data){
$('#content').html(data);
}
})
});
</script>
Run Code Online (Sandbox Code Playgroud)
编辑:我曾经实现了haschange事件来支持javascript用户的书签.
最近谷歌提出了ajax爬行的想法,在这里阅读:
http://code.google.com/web/ajaxcrawling/
http://www.asual.com/jquery/address/samples/crawling/
基本上他们建议将"website.com/#page"更改为"website.com/#!page"并添加包含该片段的页面,例如"website.com/?_escaped_fragment_=page"
对我来说,似乎新的方式为我之前做的事情添加了更多的工作和复杂性:我设计的网站在没有ajax的情况下工作,然后我添加了ajax和hashchange事件(以支持后退按钮和书签)在最后阶段.
从SEO的角度来看,使用新方式有什么好处?
处理异步加载的内容时,从性能角度来看,它们之间存在任何差异:
// .live()
$('#mybutton').live('click', function(e){ doSomething(); });
Run Code Online (Sandbox Code Playgroud)
并在每次加载内容后手动bind()我们需要的事件:
// manual bind every time
$.ajax({
url: url,
success: function(data){
mycontainer.html(data); // data contains #mybutton
$('#mybutton').click(function(e){ doSomething(); });
}
});
Run Code Online (Sandbox Code Playgroud)
?
django ×5
python ×5
javascript ×2
jquery ×2
ajax ×1
apache ×1
cryptography ×1
d3.js ×1
django-email ×1
django-shell ×1
django-wsgi ×1
grafana ×1
influxdb ×1
metrics ×1
mod-wsgi ×1
openssl ×1
performance ×1
pyopenssl ×1
rest ×1
seo ×1