Htmx меняет элемент, но стиль не включен
Я учусь использовать htmx с Django, поэтому я только что создал простое приложение Twitter с формой и телом твита. когда вы отправляете форму, новый твит появляется сверху.
post_list.html
{% block post %}
{% include 'snippets/post_list_tweet_box.html' %}
<div class="infinite-container">
<div id="post-content">
{% include 'snippets/post_list_body.html' %}
</div>
<div class="d-flex d-none position-fixed" style="top:35vh;left:46vw;">
<button class="btn btn-primary loading" style="display: none;">
<span class="spinner-border spinner-border-sm"></span>
Loading tweet...
</button>
</div>
{% if post_list.has_next %}
<a class="infinite-more-link" href="?page={{ post_list.next_page_number }}"></a>
{% endif %}
</div>
{% endblock post %}
post_list_body.html
<style>
...
</style>
{% for post in post_list %}
<div class="tweet-wrap infinite-item">
...
</div>
{% endfor %}
Мое мнение :
class PostListView(LoginRequiredMixin, View):
login_url = '/login/'
redirect_field_name = 'redirect_to'
def get(self, request, *args, **kwargs):
print("GET-HOME")
posts = Post.objects.filter(
author__userfollow__followers__in=[request.user.id] #Fix later
)
form = PostForm(request.POST, request.FILES)
share_form = ShareForm()
posts = Post.objects.all().order_by('-created_on')
post_list = []
for post in posts:
comment = Comment.objects.filter(post=post).count()
user = UserProfile.objects.get(account=post.author)
is_like = False
if request.user in post.likes.all():
is_like = True
post_list.append((post,comment,user,is_like))
page = request.GET.get('page', 1)
paginator = Paginator(post_list,10)
try:
post_pagination = paginator.page(page)
except PageNotAnInteger:
post_pagination = paginator.page(1)
except EmptyPage:
post_pagination = paginator.page(paginator.num_pages)
context = {
'post_list': post_pagination,
'shareform': share_form,
'form': form,
}
return render(request, 'post/post_list.html', context)
def post(self, request, *args, **kwargs):
logged_in_user = request.user
posts = Post.objects.all().order_by('-created_on') #Fix later
form = PostForm(request.POST, request.FILES)
files = request.FILES.getlist('image')
share_form = ShareForm()
if form.is_valid():
new_post = form.save(commit=False)
new_post.author = request.user
new_post.save()
new_post.create_tags()
for f in files:
img = Image(image=f)
img.save()
new_post.image.add(img)
new_post.save()
else:
print(form.errors)
post_list = []
for post in posts:
comment = Comment.objects.filter(post=post).count()
user = UserProfile.objects.get(account=post.author)
is_like = False
if request.user in post.likes.all():
is_like = True
post_list.append((post,comment,user,is_like))
page = request.GET.get('page', 1)
paginator = Paginator(post_list,10)
try:
post_pagination = paginator.page(page)
except PageNotAnInteger:
post_pagination = paginator.page(1)
except EmptyPage:
post_pagination = paginator.page(paginator.num_pages)
context = {
'post_list': post_pagination,
'shareform': share_form,
'form': form,
}
return render(request, 'snippets/post_list_body.html', context)
Когда я использую метод GET, стиль включается, но когда я пытаюсь отправить форму, новый пост добавляется в #post-content, но стиль в post_list_body.html не включается. Что я упустил?
EDIT : Это моя форма для инициализации почтового запроса
<form onsubmit='return copyContent()' method= "post" hx-encoding="multipart/form-data" hx-post= "{% url 'home' %}" hx-swap="innerHTML" hx-target = "#post-content">```