Где межплатформенные приложения должны сохранить свои данные?

Вы пропускаете знак равенства. Это должно быть:

return HourlyTick.objects.filter(timestamp__range=(start, end))

Вам также нужно будет преобразовать строки datetime в объекты datetime.

16
задан Community 11 September 2008 в 17:14
поделиться

9 ответов

Каждая платформа имеет свой собственный API для нахождения домашней папки пользователя, или папки документов или предпочтительной папки.

  • Windows: SHGetFolderPath () или SHGetKnownFolderPath ()
  • Mac OS X и iPhone OS: NSSearchPathForDirectoriesInDomains ()
  • Unix: переменная среды $HOME

не Делает hardcode определенных путей или просто прикрепляет префикс и суффикс на имени пользователя. Кроме того, попытайтесь следовать безотносительно соглашений, там для платформы для именования файлов.

12
ответ дан 30 November 2019 в 17:40
поделиться

Что касается передового опыта, Джефф опубликовал статью о загрязнении пространства пользователя, которая может оказаться полезной: Не загрязняйте пространство пользователя

5
ответ дан 30 November 2019 в 17:40
поделиться

В целом, я бы рекомендовал абстрагировать реализацию ваших настроек в «Поставщик настроек» и предоставить разных провайдеров для каждой платформы. Таким образом, вы можете реализовать хранение настроек способом, который лучше всего подходит для целевых платформ (например, файл в Linux или в реестре Windows).

Не просто используйте «наименьший общий знаменатель». Там, где у вас есть контент, который должен быть полностью храниться в файлах, попросите вашего провайдера настроек указать местоположение этих файлов для конкретной платформы.

4
ответ дан 30 November 2019 в 17:40
поделиться

Я не :)

Я использую USERPROFILE в Windows и HOME в Mac / Linux. Но даже в этом случае мне нужно знать, что это правильные места.

Спасибо!

2
ответ дан 30 November 2019 в 17:40
поделиться

В окнах необходимо пойти другой уровень глубоко, чем просто профиль пользователя. Используйте папку Application Data.

2
ответ дан 30 November 2019 в 17:40
поделиться

В Windows я использую APPDATA, а в Linux я использую HOME.

2
ответ дан 30 November 2019 в 17:40
поделиться
2
ответ дан 30 November 2019 в 17:40
поделиться

Никогда не храните пользовательские данные в папке приложения. Это - просто плохая идея.

Большинство операционных систем имеет $HOME (или %HOME %) переменная среды. Это было бы первым местом для взгляда.

, Если Вы хотите чисто поддерживать несколько операционных систем, тем не менее, Вы оказываетесь перед необходимостью иметь некоторый определенный для ОС код для каждого, который выясняет точно, куда дела должны идти. (~ / Библиотека для Mac OS, ~/.config для основанных на GNOME систем, %HOME %/Application Данные для Windows, и т.д.).

1
ответ дан 30 November 2019 в 17:40
поделиться

Какой язык Вы планируете использовать? Java, например, имеет специализированное предпочтение API .

1
ответ дан 30 November 2019 в 17:40
поделиться
Другие вопросы по тегам:

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