Необходимо в менеджере урлов app/urls.py
реализовать схему отображения для трех ситуаций:
- отображение списка файлов
- отображение списка файлов с фильтрацией по дате
/2018-01-01/
- отображение содержимого отдельных файлов
/file_name.txt
Для первых двух ситуаций использовать одну функцию для отображения: app.views.file_list
Для второй ситуации реализовать конвертер для преобразования даты
datetime.date
в указанный в задании вид и наоборот.
Для третьей ситуации использовать функцию для отображения: app.views.file_content
В функциях app.views.file_list
и app.views.file_content
реализовать логику для формирования контекста.
Директорию, файлы которой нужно отображать, берите из настроек settings.FILES_PATH
Для начала ваша задача грамотно привязать вьюхи из app/views.py
в схему урлов в app/urls.py
.
В комментариях написаны названия каждой привязки. Их важно сохранить - по ним будут строиться ссылки в отображаемых документах.
Помните, если view принимает аргумент, то одноименный агрумент должен быть прописан в пути:
def view_func(request, arg1):
return render(request, 'index.html', context={'arg1': arg1})
urlpatterns = [
path('', view_func), # так не срабоатет
path('<arg1>/', view_func), # а так сработает
path('path/<int:arg1>/', view_func), # и так тоже сработает
]
Впрочем для аргумента может быть задано значение по умолчанию:
def view_func(request, arg1=None):
return render(request, 'index.html', context={'arg1': arg1})
urlpatterns = [
path('', view_func), # В таком случае этот вариант сработает и в arg1 будет None
path('<arg1>/', view_func), # а в таком случае в arg1 будет приходить строка, указанная в пути
]
Используйте:
- os.listdir для получения списка файлов
- os.stat для получения времени изменения и создания файлов в списке файлов
Для запуска проекта необходимо:
Установить зависимости:
pip install -r requirements.txt
Выполнить команду:
python manage.py runserver