小编pjb*_*ley的帖子

从django提供gzip压缩内容

我正在尝试在Django中提供文本/ html页面的gzip压缩版本,但Firefox告诉我存在内容编码错误.

笔记:

  • 我意识到这不是最佳实践,我很可能会使用mod_gzip.这只是一个学习练习,以了解正在发生的事情.
  • 我知道Django gzip中间件 - 它有二进制文件的问题.

这是我的代码:

rendered_page =  zlib.compress(template.render(context).encode('utf-8'))

response = HttpResponse(rendered_page)
response['Content-Encoding'] = 'gzip'
response['Content-Length'] = len(rendered_page)
return response
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?内容长度是否有可能错误?我还缺少额外的标题吗?

谢谢.

django gzip http

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

PHP中从两个并行索引数组创建关联数组的最简单方法是什么?

给定以下两个索引数组:

$a = array('a', 'b', 'c');
$b = array('red', 'blue', 'green');
Run Code Online (Sandbox Code Playgroud)

生成以下关联数组的最直接/最有效的方法是什么?:

$result_i_want = array('a' => 'red', 'b' => 'blue', 'c' => 'green');
Run Code Online (Sandbox Code Playgroud)

谢谢.

php arrays

8
推荐指数
1
解决办法
932
查看次数

使用字符串文字作为Django模板中模板标记的参数

我发现自己经常做的一件事就是将字符串文字作为参数传递给模板标签或函数; 例如:

{% url my-url 'my_param' %}
Run Code Online (Sandbox Code Playgroud)

不幸的是,django模板引擎不允许你这样做.所以我发现自己在我的视图代码中做了很多这样的事情:

my_context_dict['MY_PARAM'] = 'my_param'
Run Code Online (Sandbox Code Playgroud)

然后在我的视图代码中:

{% url my-url MY_PARAM %}
Run Code Online (Sandbox Code Playgroud)

或者创建一系列URL映射,我个人试图避免.

是否可以在Django模板中使用字符串文字?或者可能是更优雅的解决方案?我在这里或文档中没有看到任何内容.

django templates django-templates

7
推荐指数
2
解决办法
7803
查看次数

cufon样式可以输入文本输入和textarea吗?

是否有可能做到这一点?我无法在文档中找到任何说明你无法做到的事情,但以下选择器对我不起作用:

Cufon.set('fontFamily', 'Museo');
Cufon.set('fontWeight', '300');
Cufon.replace('input.text, input.password, textarea');
Run Code Online (Sandbox Code Playgroud)

任何想法,或者Cufon根本不支持这个?

谢谢.

html javascript css fonts cufon

5
推荐指数
1
解决办法
4481
查看次数

使用DateTime/DateTimeZone在PHP中调整时区

关于在PHP中进行时区调整有很多信息,但由于所有的噪音,我没有找到具体的答案.

考虑到一个时区的时间,我想将其转换为另一个时区的时间.

基本上就是我想要做的,但我需要能够只使用内置的PHP库而不是PEAR Date.

这就是我一直在做的事情,但似乎总是给我相对于GMT的偏移量:

$los_angeles_time_zone = new DateTimeZone('America/Los_Angeles');
$hawaii_time_zone = new DateTimeZone('Pacific/Honolulu');

$date_time_los_angeles = new DateTime('2009-09-18 05:00:00', $los_angeles_time_zone);
printf("LA Time: %s<br/>", $date_time_los_angeles->format(DATE_ATOM));

$time_offset = $hawaii_time_zone->getOffset($date_time_los_angeles);
printf("Offset: %s<br/>", $time_offset);
Run Code Online (Sandbox Code Playgroud)

这是输出:

洛杉矶时间:2009-09-18T05:00:00-07:00
抵消:-36000

我期待3个小时(10800秒).但是'-7:00'的事情告诉我它保留了与GMT相关的一切,这也许可以解释为什么它给了我"绝对"的偏移.

如何在没有这个GMT hoohah的情况下获得两个时区之间的偏移量?

谢谢.

更新:

我发现我能做到这一点并得到我想要的东西:

    $date_time_los_angeles = new DateTime('2009-09-18 05:00:00', $los_angeles_time_zone);
printf("LA Time: %s<br/>", $date_time_los_angeles->format(DATE_ATOM));

$date_time_hawaii = new DateTime('2009-09-18 05:00:00', $hawaii_time_zone);
printf("Hawaii Time: %s<br/>", $date_time_hawaii->format(DATE_ATOM));


$time_offset = $los_angeles_time_zone->getOffset($date_time_los_angeles) - $hawaii_time_zone->getOffset($date_time_los_angeles);
printf("Offset: %s<br/>", $time_offset);
Run Code Online (Sandbox Code Playgroud)

但对我来说这感觉很尴尬.有人知道更清洁的方法吗?

php timezone datetime

5
推荐指数
1
解决办法
6567
查看次数

标签 统计

django ×2

php ×2

arrays ×1

css ×1

cufon ×1

datetime ×1

django-templates ×1

fonts ×1

gzip ×1

html ×1

http ×1

javascript ×1

templates ×1

timezone ×1