from django.conf import settings
from django.conf.urls.static import static
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
class PostListView(ListMixin, ListView):model = Post
ordering = '-pub_date'
paginate_by = 10
template_name = 'blog/index.html'
def get_queryset(self):
queryset = super().get_queryset().all( ).annotate(comment_count=Count("comments"))
if self.request.user.is_authenticated # Проверяем пользователь авторизованный или нет
return queryset.filter(author=self.request.user)
return queryset.filter(category__is_published=True,
is_published=True,
pub_date__lte=timezone.now())
def get_queryset(self):
queryset = super().get_queryset().all( ).annotate(comment_count=Count("comments"))
if self.request.user.is_authenticated # Проверяем пользователь авторизованный или нет
queryset = queryset.filter(author=self.request.user)
if not queryset: # либо можно так - if not len(queryset):
queryset = queryset.filter(category__is_published=True,
is_published=True,
pub_date__lte=timezone.now())
return queryset
class User(models.Model):
....
is_author = models.BooleanField(default=False)
...
...
def get_queryset(self):
queryset = super().get_queryset().all( ).annotate(comment_count=Count("comments"))
if self.request.user.is_authenticated and self.request.user.is_author:
return queryset.filter(author=self.request.user)
return queryset.filter(category__is_published=True,
is_published=True,
pub_date__lte=timezone.now())
HTTPS
https://<repo_owner>@bitbucket.org/<accountname>/<reponame>.git
SSH
git@bitbucket.org:<repo_owner>/<reponame>.git
or
ssh://git@bitbucket.org/<repo_owner>/<reponame>.git
git remote set-url origin git@bitbucket.org/<repo_owner>/<reponame>.git
как мне pk передать в views.py используя DetailView&
urlpatterns = [
path('', views.index, name='index'),
path('books/', views.BookListView.as_view(), name='books'),
path('book/<int:pk>/', views.BookDetailView.as_view(), ),
path('authors/', views.AuthorListView.as_view(), name='authors'),
path('author/<int:pk>/', views.AuthorDetailView.as_view(), name='author-detail')
]
for num in range(1, 9+1):
print("num: {}, num/2: {}, num/3: {}".format(num, num/2, num/3))
num: 1, num/2: 0.5, num/3: 0.3333333333333333
num: 2, num/2: 1.0, num/3: 0.6666666666666666
num: 3, num/2: 1.5, num/3: 1.0
num: 4, num/2: 2.0, num/3: 1.3333333333333333
num: 5, num/2: 2.5, num/3: 1.6666666666666667
num: 6, num/2: 3.0, num/3: 2.0
num: 7, num/2: 3.5, num/3: 2.3333333333333335
num: 8, num/2: 4.0, num/3: 2.6666666666666665
num: 9, num/2: 4.5, num/3: 3.0
from django.core.context_processors import request
def sidebar(request):
return {'context_auto': ...}
TEMPLATES = [
{ ...,
'OPTIONS': {
'context_processors': [
"context_processors.sidebar",
],
},
},
]
{% include "sidebar.html" %}
и через него выводить свой sidebar. То есть вы создаёте функцию, в которой прописываете логику и загрузку sidebar.html а на странице уже инклудите именно функцию, а не html @register.inclusion_tag('sidebar.html', takes_context=True)
def sidebar(context):
return ...
{% sidebar %}
https://ru.nuxtjs.org/
Nuxt.js — это минималистичный фреймворк для создания приложений на Vue.js с серверным рендерингом, разделением кода, горячей заменой ...
Задался таким вопросом. В чем отличие между сайтом "блог" и "новостным" сайтом, в техническом плане?Ни чем. Это как в столярном деле, "чем отличается шкаф от тумбочки технически?", ответ "ни чем, только размерами". Что у блога, что у новостного сайта, функционал может быть идентичным. Как и блог может быть в десятки раз монструознее новостного сайта, при этом допустимо и обратное. Всё зависит от конкретных задач. Новостной сайт может быть и из одной страницы, где всего пяток новостей, меняющихся раз в месяц. Как и блог состоящий из сотней разделов и "модулей", не завязанных чисто на "текстовом" контенте.
Какие модули, библиотеки используются для создания сайта новостей в Django?Если вас интересуют "модули и библиотеки", то это нужно смотреть в сторону готовых ЦМС. Джанго это всётаки фреймворк, где подразумевается собственноручное написание с использованием функционала фреймворка, а не использование сторонних "модулей и библиотек".
Какие модули, библиотеки используются для создания сайта блог в Django?
За googlи! - гуглил четкого ответа нет!Если у вас "академический" интерес к Джанге, то советую на ближайшие пол года забыть о таких вещах как "готовые модули и библиотеки". Ладно там Pillow для работой с картинками или requests для работы с запросами к другим сервисам. Но вот функционал "блога"/"новостей", это всё делается инструментами джанги. Авторизация, админка, контент, поиск и так далее.
Зачем Django когда есть Wordpress - ответ: потому что Python!
Если не корректно задан вопрос - буду рад если кто то поправит, но суть вопроса думаю все равно понятна.
исторически сложилось что Python изучается как основной язык программирования, да и задача не состоит в быстром запуске проекта, основной упор нацелен на его качестве, к слову "WStanley", а что касается удобства на Django, уже появился Wagtail CMSОтвет выше, для изучения питона и его фреймворка Джанго, не нужны вам готовые цмс, библиотеки и модули. Изучите внимательно фреймворк, он всё реализует своим функционалом.
import datetime
date = datetime.datetime.today()
week = date.strftime("%V")
Entry.objects.filter(pub_date__week=week)
from django.utils.timezone import now
year, week, _ = now().isocalendar()
Entry.objects.filter(pub_date__iso_year=year, pub_date__week=week)
В админке, если выбрать созданный тэг через shell, то в шаблоне он отображается как main.Tag.None. (main - название приложения) Как это исправить?
{{ post.tag.all }}
{% for tg in post.tag.all %}{{ tg.title }}{% endfor %}
1. def page(request, key):
2. if key == 1:
3. a = 0
4. b = 50
5. data = table.objects.order_by("place")[a:b]
def page(request, key):
a = 0
b = 10
if key == 1:
a = 0
b = 50
data = table.objects.order_by("place")[a:b]
def page(request, key):
if key == 1:
a = 0
b = 50
else:
a = 0
b = 10
data = table.objects.order_by("place")[a:b]