2 / 2 / 0
Регистрация: 17.05.2015
Сообщений: 66
|
|
1 | |
Django | Managing static files24.02.2017, 12:04. Показов 938. Ответов 1
Метки нет (Все метки)
Делаю сайт на django, опыт работы с django - начальный, создавая шаблоны столкнулся с особенностью django в подключении css/js и тому подобных файлов, которые они описывают как "static files". Для работы в deployment рекомендуют использовать два сервера: один для обслуживания static/media файлов, и второй для django приложения.
Мне, для моей задачи, кажется это излишним, для сайта предполагается не более ~400 одновременных обращений. Не будет ли лаконичней сделать отдельное django app для выполнения этой задачи? В этом весь вопрос - насколько такой подход может быть небезопасен и производителен. Предполагается что все обращения к static/media файлам будут происходить по url вида r'^static/', дальнейшая обработка которого будет заниматься app_for_static_files.urls, регулярным выражением вида r'^(?P<file_name>[\w\-]+)/$', и, в конечном счете, будет возвращаться файл file_name из определенного каталога для static/media файлов.
0
|
24.02.2017, 12:04 | |
Ответы с готовыми решениями:
1
Static files Не видит static files Django static Django работа с JS, CSS и фото (static) |
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,245
|
|
30.03.2017, 00:58 | 2 |
Мне кажется, тут немного не так надо подходить.
Django отвечает за бизнес-логику. Это медленый процесс и недешевый. И с неопределенным временем исполнения. Ты можешь прогу написать так, что она вообще в бесконечный цикл попадет. В общем, это медленная штука. И ее назначение - дать тебе возможность написать свою функцию. Чтобы именно тебе (!) удобно было. Статику раздает веб-сервер, например, nginx. Статика лежит на серваке в виде файлов - просто на диске. Взял файл, отдал. Не надо самопсной бизнес-логики, и процесс с предсказуемым временем выполнения. Все протестировано, все надежно. Плюс-минус по времени, но ничего там такого страшного: вот файлы, надо их кинуть клиенту. Джанге это поручать не надо. Во-первых, это лучше всего сделает nginx. Или вообще cdn. Во-вторых, Django этого просто не умеет из коробки. Это получится - грести против фреймворка. Зачем он тогда вообще нужен. Только сложнее себе делать - бороться еще с ним. 400 одновременных обращений - ничего себе ненагруженный сайт. Это приличная нагрузка. Ненагруженный сайт - это пять юзеров в день на каком-нибудь сайте-визитке затрапезной швейной мастерской в дальнем уголке империи. В общем, мне кажется, надо почитать про frontend и backend. Фронтэнд выделяет запрос на статику, обрабатывает его сам, а остальные запросы проксирует - пробрасывает дальше, их ловит Gunicorn и вызывает уже обработчик из Django. А Django уже делает то, что ты написал - в базу данных лезет, что-то кумекает и выдает результат.
0
|
30.03.2017, 00:58 | |
30.03.2017, 00:58 | |
Помогаю со студенческими работами здесь
2
Как создать общие static и templates django 1.10 Как в теге static вывести значение из переменной? (Django) Проблемы со static files Django на хостинге слетели static в django 1.10 В системных Program Files/Files (x86)/Data появились различные антивирусы, к папкам которых нет доступа Как объединить 3 раздела HDD в 1 без потерь путей программ(Например с изменением с C:\Program Files на E:\Proram Files)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
|
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows
Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
|
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
|
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
|
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
|
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
|
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
|
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|