Tag: django

使用Django-websocket时出错

我正在开发一个使用Django的RESTful Web服务。 在某些情况下,我们需要将服务器对象推送到连接的客户端,而无需客户端轮询。 我们决定使用django-websocket 0.3.0。 我正在编写testing用例,并尝试使用nodejs ws客户端模块连接到服务器 我在Django中的视图function如下: from django.http import HttpResponse from django_websocket import accept_websocket, require_websocket from django.views.decorators.csrf import csrf_exempt import json, sys, os, time, datetime @csrf_exempt @accept_websocket def home(request) : if not request.is_websocket(): return HttpResponse('new message') else: for message in request.websocket: message = modify_message(message) request.websocket.send(message) request.websocket.close() 我在js中的客户端代码是这样的: – //Normal Get var request = […]

在Redis上共享一个Django和Express.js应用程序的会话存储

我想用一些login用户创build一个Django应用程序。 另一方面,因为我想要一些实时function,我想使用Express.js应用程序。 现在的问题是,我不想让不可识别的用户访问Express.js应用程序的数据。 所以我必须在Express.js和Django应用程序之间共享会话存储。 我认为使用Redis将是一个好主意,因为volatile键是完美的,我已经使用Redis作为应用程序的另一部分。 在Express.js应用程序中,我会有这样的代码: […] this.sessionStore = new RedisStore; this.use(express.session({ // Private crypting key secret: 'keyboard cat', // I'm worried about this for session sharing store: this.sessionStore, cookie: { maxAge: 1800000 } })) […] 在Django方面,我会考虑使用django-redis会话应用程序。 那么,这是一个好主意吗? 会不会有问题? 特别是关于密钥,我不确定他们是否会共享同一个会话。

如何使用Django身份validation在Node应用程序中对用户进行身份validation?

我的主要应用程序是一个Django应用程序,但是,对于一些实时的东西,我想使用Node / Socket.IO。 我使用Redis做一些从Django到Node的pub / sub(然后到各种客户端)。 棘手的部分是我如何对Django身份validation的Node用户进行身份validation? 在我的Node应用程序中,我有: io.on('connection', function (socket) { const subscribe = redis.createClient(); var userId = authenticateAndGetUserId(); subscribe.subscribe(userId + ':feed-items'); subscribe.on('message', function (channel, message) { socket.emit('feed-items', JSON.parse(message)); }); }); 所以我的问题是什么是实施authenticateAndGetUserId好策略? 会话由MySQL支持,所以我可以在那里通过。 只是好奇,如果有更好的办法去做。

是否有可能使用Django和Node.Js?

我有一个Django后端设置为用户login和用户pipe理,以及我的整个模板,访问者用来显示HTML文件的模板。 但是,我正在尝试向我的网站添加实时function,并在Node.Js中find了一个完美的库,允许两个用户键入文本框,并在屏幕上显示文本。 是否有可能合并两个后端?

django npm和节点包的体系结构

在我join的项目中,是node_packages的体系结构: |- Django project |– app1 |– app2 |– node_modules |— foundation-sites |— grunt |– static |— css |— images |— js |–urls.py |–settings.py |–package.json 我个人认为node_packages应该在js文件夹下的静态以及package.json如下所示: |- Django project |– app1 |– app2 |– static |— css |— images |— js |—- node_modules |—– foundation-sites |—– grunt |—- packages.json |–urls.py |–settings.py 有没有区别? 这是最好的做法? 为什么?

python对象和json对象有什么区别?

表面上看来,python本身使用json。 我能想到的唯一例外是json可以存储js函数的事实。 这是我的问题:我需要通过terminal将json传递给python文件。 为什么要或不应该使用eval()?

什么时候线程框架比事件驱动的框架更好? (也就是说,什么时候rails比node.js好?)

我明白什么是线程框架(Rails,Django,Symfony2,…)。 我明白事件驱动的框架是什么(Node.js,EventMachine,Twisted,…)以及为什么它对于生活,聊天,速度,…而言是好的。另外,它们似乎不会给正常用例带来问题。 所以: 事件驱动框架的缺点是什么? 我应该什么时候更喜欢Rails的Node.js? 为什么不是所有使用EventMachine,Twisted或Node.js编写的新Web服务器? 像Django或Rails这样的着名框架会变成事件驱动还是死亡?

Django + MongoDB与Node.js + MongoDB

我已经build立并运行一个使用Python(Django)+ MySQL构build的同步服务的网站。 很长一段时间我正在寻找Node.js和MongoDB的一面。 我已经决定迁移到系统的MongoDB部分,该部分承载来自用户桌面客户端的数据,并由同步服务用于在客户端之间同步数据。 我想保持在Django + MySQL上运行系统的其余部分。 我的问题是我应该重写同步服务Node.js或保持它在Django上运行? MongoDB对Django的Node.js有什么优势吗?

python(django)hashlib vs Nodejsencryption

我正在通过Django站点移植到Node.js,我试图在Node中重新实现Django set密码方法。 这是Django代码 from django.utils.crypto import ( pbkdf2, get_random_string) import hashlib password = 'text1' algorithm = "pbkdf2_sha256" iterations = 10000 salt = 'p9Tkr6uqxKtf' digest = hashlib.sha256 hash = pbkdf2(password, salt, iterations, digest=self.digest) hash = hash.encode('base64').strip() print "%s$%d$%s$%s" % (self.algorithm, iterations, salt, hash) 这里是我到目前为止的Node.js代码: var password = 'text1'; var hashed = crypto.createHash('sha256').update(password, 'utf8').digest(); var salt = […]

django tastypie和跨域json

在localhost:8000上运行了django dev服务器,在localhost:3000上运行了nodejs服务器。 我想要将json导入到nodejs服务器,但我得到这个错误: XMLHttpRequest无法加载http://127.0.0.1:8000/api/presentation/?format=json 。 Access-Control-Allow-Origin不允许源http:// localhost:3000 这是我第一次进入跨域的乐趣,所以我想方设法摆脱我的深度。 我已经添加到我的节点(expressjs)的路线。 app.all('/', function(req, res){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.render('index', { title: '…' }); }); 我错过了什么/错在哪里?