我开始有express.Router和/show,和我有点困惑.我一直在阅读express.Router网站,但看不到_when使用路由处理程序或何时使用express.Router.
正如我所看到的,如果我想在用户点击时显示页面或其他内容,express.Router我应该使用:
var express = require('express')
var app = express()
app.get("/show", someFunction)
Run Code Online (Sandbox Code Playgroud)
一开始,我认为这是旧的,因为/show,是对还是这也是方法express.Router呢?
如果这是这样做的方式express.Router,express.Router用途是什么?
我读了几乎与上面相同的例子,但使用/show:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
Run Code Online (Sandbox Code Playgroud)
那么,两个例子之间的区别是什么?
如果我只是想做一个简单的测试网站,我应该使用哪一个?
我想知道在哪里放置不属于视图的代码,我的意思是逻辑.
我一直在阅读一些类似的帖子,但无法得出结论.
我能理解的是:
那么所有基于逻辑的东西应该在哪里呢?
我来自Groovy/Grails,例如,如果我们需要访问数据库,或者如果我们有一个复杂的逻辑,我们使用服务,然后将这些服务注入控制器.
在Django中包含除Views和Models之外的东西的.py文件是一个好习惯吗?
PS:我读过有些人用过services.py,但是其他人说这是一个不好的做法,所以我有点困惑......
我正在尝试使用node.js作为后端并将angular.js作为前端上传文件到服务器.我正在使用快递4 + busboy.我在前端有一张桌子,我应该显示我正在上传的所有文件.因此,如果我有3个文件并单击上传,angular应该将这些文件发布到node.js,并在获得响应后,使用这三个文件刷新表.这是我在角度中使用的功能:
function uploadFiles(files){
var fd = new FormData();
for(var i = 0; i<files.length; i++){
fd.append("file", files[i]);
}
$http.post('http://localhost:3000/upload', fd, {
withCredentials: false,
headers: {'Content-Type': undefined },
transformRequest: angular.identity
}).success(refreshTable()).error(function(){
console.log("error uploading");
});
}
Run Code Online (Sandbox Code Playgroud)
这是来自node.js:
app.post('/upload', function(req, res) {
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function (fieldname, file, filename) {
console.log("Uploading: " + filename);
var fstream = fs.createWriteStream('./files/' + filename);
file.pipe(fstream);
});
busboy.on('finish', function(){
res.writeHead(200, { 'Connection': 'close' });
res.end("");
});
return req.pipe(busboy);
});
Run Code Online (Sandbox Code Playgroud)
问题是,如果我上传了三个文件,一旦上传了第一个文件,node.js就会发送响应,因此只有上传的第一个文件才会更新表,如果我刷新页面,其余的文件会出现.我认为问题在于节点中的这一行:return req.pipe(busboy); …
关于如何在 Django 中实现服务有任何约定吗?来自 Java 背景,我们为业务逻辑创建服务,并在需要的地方“注入”它们。不确定我是否以错误的方式使用 python/django,但我需要连接到 3rd 方 API,所以我使用 api_service.py 文件来做到这一点。问题是,我想将此服务定义为一个类,而在 Java 中,我可以在任何需要的地方注入这个类,它的行为或多或少像一个单例。是否有类似的东西我可以与 Django 一起使用,或者我应该将服务构建为单例并在某处获取实例,或者甚至只有单独的函数而没有类?
我正在使用 Django 并尝试创建动态选择字段,我阅读了很多帖子,但找不到适合我情况的解决方案。我需要为“添加新元素”提供一个选择,因此如果用户找不到他的选择,他将能够添加一个新元素。
问题是我如何将该选项添加到选择元组中。例如我有这个:
YEAR_IN_SCHOOL_CHOICES = (
('OPTION1', 'OPTION1'),
('OPTION2', 'OPTION2'),
('Other', 'Other')
)
Run Code Online (Sandbox Code Playgroud)
如果用户选择“其他”,则会出现一个新的输入元素,当用户提交新选项时,我应该有:
YEAR_IN_SCHOOL_CHOICES = (
('OPTION1', 'OPTION1'),
('OPTION2', 'OPTION2'),
**('OptionAdded', 'OptionAdded'),**
('Other', 'Other')
)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?谢谢