Итак, всем привет, возникли сложности в разработке системы лайков, видимо что-то недопонимаю. Вот моя модель постов.
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
title = models.CharField(max_length=200)
image = models.ImageField(upload_to=upload_location,
null=True, blank=True,
height_field="height_field",
width_field="width_field")
height_field = models.IntegerField(default=0)
width_field = models.IntegerField(default=0)
text = models.TextField()
like = models.ManyToManyField(User, related_name="like")
likes = models.IntegerField(default=0, verbose_name="Likes")
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
Сама проблема, как я понял кроется в передаче данных и во въюшке.
@login_required
def post_like(request, add_id, pk):
if request.method == "POST":
if request.is_authenticated:
post_item = Post.objects.get(id=add_id)
user_item = User.filter.get(like=add_id)
current_user = request.user
if current_user not in user_item:
try:
post_item.likes += 1
post_item.like.add(current_user)
post_item.save()
return redirect('post_detail', pk=pk)
except ObjectDoesNotExist:
return redirect('post_detail', pk=pk)
else:
return redirect('post_detail', pk=pk)
else:
return redirect('post_detail', pk=pk)
Как мне отловить данные, которые передаю? По пост запросу? Тогда придется вставлять форму, а без формы никак? Подскажите в плане веба, как реализовать, может я чего то не знаю. Вот сам шаблон
<div class="post">
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
{% if post.image %}
<img src="{{post.image.url}}" class="img-responsive">
{% endif %}
<div class="date">
{{ post.published_date }}
<p>Author: {{ post.author }}</p>
<form method="post">
<a class="glyphicon glyphicon-thumbs-up" href="{{ url 'post_like' add_id=request.user.id pk=post.pk}}"></a>
<span>{{post.likes}}</span>
</form>
</div>
Мой url.py
urlpatterns = [
path('', views.post_list, name='post_list'),
path('post/<int:pk>/', views.post_detail, name='post_detail'),
path('post/new', views.post_new, name='post_new'),
path('post/<int:pk>/edit', views.post_edit, name='post_edit'),
path('drafts/', views.post_draft_list, name='post_draft_list'),
path('post/<pk>/publish', views.post_publish, name='post_publish'),
path('post/<pk>/remove', views.post_remove, name='post_remove'),
path('post/<int:pk>/comment', views.add_comment_to_post,
name='add_comment_to_post'),
path('post/<int:pk>/<int:id>/remove_comment', views.remove_comment,
name='remove_comment'),
path('post/<int:pk>/<int:id>/edit_comment', views.edit_comment,
name='edit_comment'),
path('post/my_posts/', views.my_posts, name='my_posts'),
path('post/<pk>/<add_id>', views.post_like, name='post_like')
]
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я пытаюсь добавить событие click на div, который находится внутри a, Я не хочу, чтобы событие a href срабатывало при запуске события щелчка
Здравствуйте! Программа написанна на WPF MVVM с использованием фреймворка caliburn MicroВозникла необходимость динамически менять размер шрифта...
Как можно после завершения основной программы запустить файл батник который создался при завершении программы, я сделал через процесс старт...
Пытался сделать, но ввиду while, долго думает программа и вообще наверное способ мой плохой