Nginx не служит статичный

Я лично отформатировал бы его в двух частях: non-am/pm часть и/пополудни расстаются с ToLower:

string formatted = item.PostedOn.ToString("dddd, MMMM d, yyyy a\\t h:mm") +
                   item.PostedOn.ToString("tt").ToLower();

Другая опция (который я исследую через секунду) состоит в том, чтобы захватить текущий DateTimeFormatInfo, создать копию и установить,/пополудни указатели к версии нижнего регистра. Затем используйте ту информацию о формате для нормального форматирования. Вы хотели бы кэшировать DateTimeFormatInfo, очевидно...

РЕДАКТИРОВАНИЕ: Несмотря на мой комментарий, я записал кэширующийся бит так или иначе. Это, вероятно, не будет быстрее , чем код выше (поскольку это включает блокировку и поиск по словарю), но это действительно делает код вызова более простым:

string formatted = item.PostedOn.ToString("dddd, MMMM d, yyyy a\\t h:mmtt",
                                          GetLowerCaseInfo());

Вот полная программа для демонстрации:

using System;
using System.Collections.Generic;
using System.Globalization;

public class Test
{
    static void Main()
    {
        Console.WriteLine(DateTime.Now.ToString("dddd, MMMM d, yyyy a\\t h:mmtt",
                                                GetLowerCaseInfo());
    }

    private static readonly Dictionary<DateTimeFormatInfo,DateTimeFormatInfo> cache =
        new Dictionary<DateTimeFormatInfo,DateTimeFormatInfo>();

    private static object cacheLock = new object();

    public static DateTimeFormatInfo GetLowerCaseInfo()
    {
        DateTimeFormatInfo current = CultureInfo.CurrentCulture.DateTimeFormat;
        lock (cacheLock)
        {
            DateTimeFormatInfo ret;
            if (!cache.TryGetValue(current, out ret))
            {
                ret = (DateTimeFormatInfo) current.Clone();
                ret.AMDesignator = ret.AMDesignator.ToLower();
                ret.PMDesignator = ret.PMDesignator.ToLower();
                cache[current] = ret;
            }
            return ret;
        }
    }
}
20
задан Cristian Ciupitu 7 November 2013 в 18:43
поделиться

2 ответа

Как настроен ваш каталог? У вас есть папка static в / home / user / www / oil / oil_database / static_files ? В этом случае директива должна выглядеть так (обратите внимание на косую черту в конце в / static / ):

location /static/  {
    autoindex    on;
    root /home/user/www/oil/oil_database/static_files;
}

Если вы хотите отобразить путь / home / user / www / oil / oil_database / static_files в URL / static / , вы должны либо

  • переименовать папку static_files в static и использовать эту директиву:

     location / static / {
     автоиндекс включен;
     root / home / user / www / oil / oil_database /;
    }
    
  • используйте псевдоним:

     location / static / {
     автоиндекс включен;
     псевдоним / home / user / www / oil / oil_database / static_files /;
    }
    

См. Документацию по директивам root и alias .

56
ответ дан 29 November 2019 в 23:00
поделиться

У меня есть аналогичная конфигурация для моих сайтов Django, но я думаю, что вы хотите использовать псевдоним вместо root для своих носителей. Например:

location /static {
    alias /home/user/www/oil/oil_database/static_files;
}
1
ответ дан 29 November 2019 в 23:00
поделиться
Другие вопросы по тегам:

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