Django использует старый файл views.py
Итак, при запуске моего проекта главная страница работает хорошо, регистрация и вход. Однако некоторые вещи не работают. Я нашел ошибки, где есть вещи из старого views.py. Поэтому я думаю, что Django использует папку vies.py для других проектов.
views.py
class PostDeleteView(LoginRequiredMixin, UserPassesTestMixin, SuccessMessageMixin, DeleteView):
model = Posts
success_message = 'Your post has been deleted' #it is not working and I dont know why
success_url = reverse_lazy('homepage')
template_name = 'posts/delete.html'
def test_func(self):
post = self.get_object()
if self.request.user == post.user:
return True
return False
urls.py
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
from .views import PostsListView, PostCreatView, PostDeleteView
urlpatterns = [
path('', PostsListView.as_view(), name='homepage'),
path('delete/<int:pk>/', PostDeleteView.as_view(), name='delete-post'),
path('creat-post', PostCreatView.as_view(), name='create-post')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
delete.html
{% extends "posts/base.html" %}
{% block content %}
<form method="POST">
{% csrf_token %}
<h2> Are you sure you want to delete your post?</h2>
<button class="btn btn-outline-danger mt-1 mb-1 mr-1 ml-1" type="submit">Yes Delete</button>
<a class="btn btn-outline-secondary mt-1 mb-1 mr-1 ml-1" href="{% url 'post-and-comments' object.id %}">Cancel</a>
</div>
</form>
{% endblock %}
list.html
{% extends "posts/base.html" %}
{% block content %}
{% for post in posts %}
<p class="font-weight-bold">{{post.user.username}}</p>
{% if user == post.user %}
<div>
<a href="{% url 'delete-post' post.pk %}" class="btn btn-outline-danger">Delete Post</a>
</div>
{% endif %}
<img src="{{ post.image.url }}" />
<p class="d-block mb-1">{{post.caption}}</p>
<hr class="bg-danger border-2 border-top border-danger">
<hr class="bg-danger border-2 border-top border-danger">
{% endfor %}
{% endblock %}