我刚刚安装了IntelliJIdea 14.0.2.我不知道它的默认编辑器,但它vi现在正在选项中打开我的源文件.所以,不要让我做默认的动作一样Ctrl + v,Ctrl + d这是之前存在,我以前喜欢它.
那么,如何改变这种行为sublime - editors呢?
在大多数ExpressJs的例子中,我发现使用cookie-parser了express-session.
如果我可以在req.session.name没有它的情况下访问会话数据,我应该使用什么情况(或好处)cookie-parser?
我有一个基于类的视图
class HomePage(View):
def get(self, request):
return HttpResponse('<p>This is content.</p>')
Run Code Online (Sandbox Code Playgroud)
和url-pattern定义如下:
urlpatterns = patterns('',
url(r'^$', HomePage.as_view()),
)
Run Code Online (Sandbox Code Playgroud)
为了这个模式解析为当前的视图函数,我写了一个这样的测试:
class HomePageTest(TestCase):
def test_root_url_resolves_to_home_page_view(self):
found = resolve('/')
self.assertIsInstance(found.func, HomePage)
Run Code Online (Sandbox Code Playgroud)
通过运行此单元测试,我收到以下错误:
self.assertIsInstance(found.func, HomePage)
AssertionError: <function HomePage at 0x7f85dd2c7840> is not an instance of <class 'web.views.HomePage'>
Run Code Online (Sandbox Code Playgroud)
任何想法如何测试这种情况?
我使用Redis作为会话存储,我也想创建自定义会话ID express-session.到目前为止,我实现了使用这样的常量字符串创建会话:
redis configuration
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var compression = require('compression');
var session = require('express-session');
var redis = require('redis');
var RedisStore = require('connect-redis')(session);
var routes = require('./routes/index');
var api = require('./routes/api');
var app = express();
var client = redis.createClient();
// compress all requests
app.use(compression())
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing …Run Code Online (Sandbox Code Playgroud) 我需要一个动作方法来接收文件上传,我也想测试它.但我的测试是抛出错误
我的行动:
def upload = Action.async(parse.multipartFormData) { request =>
val multipart = request.body
val optFile = multipart.files.toList.headOption.map(_.ref.file)
optFile match {
case None => Future.successful(Ok("got none"))
case Some(file) => Future.successful(Ok("got some"))
}
}
Run Code Online (Sandbox Code Playgroud)
我想测试这个方法,但得到错误:
我的考试
"create notes" in {
val temp = SingletonTemporaryFileCreator.create("test", "png")
val tempFile = TemporaryFile(temp)
val filePart = FilePart[TemporaryFile](key = "image", filename = "debug.png", contentType = Some("image/png"), ref = tempFile)
val form = MultipartFormData(dataParts = Map(), files = Seq(filePart), badParts = Seq(), missingFileParts = Seq())
val notesController = …Run Code Online (Sandbox Code Playgroud) 我有简单的用户表,id设置为自动增量,也username可以在表中设置为唯一.
class Users (tag: Tag) extends Table[User](tag, "Users") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def username = column[String]("username", NotNull)
def email = column[String]("email")
def passwordHash = column[String]("password_hash")
def createdAt = column[Long]("created_at")
def updatedAt = column[Long]("updated_at")
def lastLoggedInAt = column[Long]("last_logged_in_at")
override def * = (id.?, username, email, passwordHash, createdAt, updatedAt, lastLoggedInAt) <> (User.tupled, User.unapply)
def idxUsername = index("idx_username", username, unique = true)
}
Run Code Online (Sandbox Code Playgroud)
但是当使用slick(db.run(users.schema.create))创建表时,不会idx_username在数据库上创建唯一索引
这是架构的create语句users.schema.createStatements.foreach(println):
create table `Users` (`id` INTEGER …Run Code Online (Sandbox Code Playgroud)