def dashboardView(request):
posts = Post.objects.filter(user=request.user)
posts_count = posts.count()
#need to extract the date value from post_early so I can take the difference
post_early = Post.objects.filter(user=request.user).earliest('date')
total_days = (datetime.datetime.now().date() - post_early.date).days
average_30days = round((posts_count/total_days)*30,2)
list_4 = []
list_5 = []
i = 1
time_3=datetime.datetime.now() + datetime.timedelta(-30)
while i<32:
list_4.append(days2(time_3, request, Post))
list_5.append(time_3.strftime('%b %d, %Y'))
i += 1
time_3 = time_3 + datetime.timedelta(1)
Я бы сделал что-то подобное.Было несколько несоответствий:
- сохранять пробел перед и пробел после операторов (=, *, -, +, ...).
-Я бы посоветовалвсегда суффикс -Просмотр ваших представлений, но это просто личное предпочтение
-Используйте пустые строки для разделения блоков кода, а не групп переменных.Если у вас длинный список объявлений переменных (не в этом случае), вы можете использовать комментарии для их разделения и категоризации.
-Используйте list_3 вместо list3 (и аналогичных случаев), это более читабельно.
Более подробную информацию вы всегда можете найти в официальном руководстве по стилю Python: https://www.python.org/dev/peps/pep-0008/
В любом случае, если вы будете последовательны и достигнете стиля кодирования, используемого в документации Django во время обучения, у вас все будет хорошо.
##### EDIT:
Примечание: мой ответ основан на предоставленном вами коде, который выглядит как вырезанный (без оператора возврата?) И без других модулей.
Вы используетефункциональное представление, которое не является неправильным или правильным, просто один из возможных вариантов.Если вам это не нравится или вы хотите попробовать что-то еще, вам может подойти ListView: https://docs.djangoproject.com/en/2.1/topics/class-based-views/generic-display/
Пример:
from django.views import ListView
class DashboardView(ListView):
model = Post
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['posts'] = Post.objects.filter(user=request.user)
# add all the data you need to the context dictionary
return context