Как обслуживать статические медиа файлы в Django?

для тех, кто ищет альтернативу $ result = stmt-> get_result () Я сделал эту функцию, которая позволяет вам имитировать $ result-> fetch_assoc (), но напрямую используя объект stmt:

function fetchAssocStatement($stmt)
{
    if($stmt->num_rows>0)
    {
        $result = array();
        $md = $stmt->result_metadata();
        $params = array();
        while($field = $md->fetch_field()) {
            $params[] = &$result[$field->name];
        }
        call_user_func_array(array($stmt, 'bind_result'), $params);
        if($stmt->fetch())
            return $result;
    }

    return null;
}

, поскольку вы можете видеть, что он создает массив и извлекает его с данными строки, поскольку он использует внутреннюю оболочку $ stmt-> fetch (), вы можете вызвать ее так же, как вы бы вызвали mysqli_result :: fetch_assoc (просто убедитесь что объект $ stmt открыт и результат сохраняется):

//mysqliConnection is your mysqli connection object
if($stmt = $mysqli_connection->prepare($query))
{
    $stmt->execute();
    $stmt->store_result();

    while($assoc_array = fetchAssocStatement($stmt))
    {
        //do your magic
    }

    $stmt->close();
}

надеюсь, что это поможет.

0
задан KitKit 18 January 2019 в 07:13
поделиться

1 ответ

Вы просто сможете использовать директиву Alias для псевдонима /served/ для рассматриваемой папки мультимедиа. Так, например:

Alias /served/ /home/example.com/public_html/media/

Это будет означать, что запрос к http://example.com/served/filename.jpg будет преобразован в /home/example.com/public_html/media/filename.jpg. Вы можете сделать то же самое для ресурсов в /static/.

(Обратите внимание, что в приведенном выше примере используется example.com, а не mydomain.com из-за ограничений SO .)

0
ответ дан Will Keeling 18 January 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: