小编bor*_*req的帖子

如何重新初始化highlight.js?

我的网站动态生成一些内容,因此我必须以某种方式在加载后再次启动highlight.js插件.

此代码用于启动荧光笔:

hljs.initHighlightingOnLoad();
Run Code Online (Sandbox Code Playgroud)

我试图做一些类似hljs.initHighlighting();的事情,但它不起作用.

syntax-highlighting

16
推荐指数
2
解决办法
6345
查看次数

Django 使用相关查询集的第一个元素进行注释

问题

我正在为一个简单的论坛创建一个数据库模型。用户应该能够创建话题、添加帖子并在帖子中发布图片。

在一个视图中,我想显示所有线程并且:

  • 获取线程中第一篇文章的字段以显示文章/创建日期等的一部分(包括可选图像)
  • 获取线程中最后一个帖子的时间
  • 计算线程中的帖子
  • 计算线程中的图像

我相信这在不执行线程n查询的情况下是不可能的n,所以真正的问题是如何重新设计数据库以使其成为可能。

class Thread(models.Model):
    sticky = models.BooleanField()
    ...

class Post(models.Model):
    thread = models.ForeignKey('Thread')
    image = models.OneToOneField('Image', null=True, blank=True, default=None)
    date = models.DateTimeField()
    ...

class Image(models.Model):
    image = models.ImageField(...)
    ...
Run Code Online (Sandbox Code Playgroud)

我的部分解决方案

在这一点上,我知道如何计算帖子和图片,但我不知道如何同时获取第一篇帖子。我考虑在Thread模型中添加额外的字段链接到第一个Post.

我的查询迫使我单独下载第一篇文章:

Thread.objects.annotate(
    replies=Count('post'),
    images=Count('post__image'),
    last_reply=Max('post_date')
)
Run Code Online (Sandbox Code Playgroud)

python django django-models

7
推荐指数
1
解决办法
5092
查看次数

如何在openlayers3中指定GeoJSON的投影?

我的目的是加载GeoJSON数据并将其显示在地图上.GeoJSON中指定的要素的坐标是正常的lon/lat.由于某种原因,openlayers使用地图使用的投影渲染它们而不转换它们.

// Underlying sat layer.
var world = new ol.layer.Tile({
    source: new ol.source.MapQuest({layer: 'sat'})
});

// GeoJSON data.
var geojsonObject = {
    'type': 'FeatureCollection',
    'features': [
        {
            'type': 'Feature',
            'geometry': {
                'coordinates': [ 50.07539747, 19.76809501 ], 
                'type': 'Point'
            },
        }
    ]
};

var vectorSource = new ol.source.Vector({
    features: (new ol.format.GeoJSON()).readFeatures(geojsonObject)
});

var vectorLayer = new ol.layer.Vector({
    source: vectorSource
});

// Map.
map = new ol.Map({
    target: 'map',
    layers: [world, vectorLayer],
    view: new ol.View({
        center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
        zoom: 2 …
Run Code Online (Sandbox Code Playgroud)

javascript openlayers-3

4
推荐指数
1
解决办法
5921
查看次数