Compare commits
No commits in common. "17e41a9e4c4e7ab5d1e5e42a225ff269e4757f35" and "9a5bedabcac9acbcb7a59c278c33ee624d786199" have entirely different histories.
17e41a9e4c
...
9a5bedabca
4 changed files with 1 additions and 39 deletions
|
|
@ -106,15 +106,3 @@ class PostViewsTests(TestCase):
|
||||||
url = reverse("posts:post_detail", kwargs={"pk": self.post.pk})
|
url = reverse("posts:post_detail", kwargs={"pk": self.post.pk})
|
||||||
c.post(url, {"comment": ""})
|
c.post(url, {"comment": ""})
|
||||||
self.assertFalse(self.post.comments.all().exists())
|
self.assertFalse(self.post.comments.all().exists())
|
||||||
|
|
||||||
def test_can_post_a_post(self):
|
|
||||||
c = Client()
|
|
||||||
c.login(username="someone", password="secret")
|
|
||||||
url = reverse("posts:post_create")
|
|
||||||
with open(
|
|
||||||
os.path.join(os.path.dirname(__file__), "test_data", "test_img.png"),
|
|
||||||
mode="rb",
|
|
||||||
) as f:
|
|
||||||
c.post(url, {"title": "title", "body": "body", "img": File(f)})
|
|
||||||
|
|
||||||
self.assertEqual(Post.objects.count(), 2)
|
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,4 @@ from . import views
|
||||||
app_name = "posts"
|
app_name = "posts"
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("post/<int:pk>", views.PostDetailView.as_view(), name="post_detail"),
|
path("post/<int:pk>", views.PostDetailView.as_view(), name="post_detail"),
|
||||||
path("post/new", views.PostCreateView.as_view(), name="post_create"),
|
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
from django.views.generic import DetailView, CreateView
|
from django.views.generic import DetailView
|
||||||
from django.views.generic.edit import ModelFormMixin
|
from django.views.generic.edit import ModelFormMixin
|
||||||
from django.forms import modelform_factory
|
from django.forms import modelform_factory
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.urls import reverse
|
|
||||||
|
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
|
|
||||||
|
|
@ -33,17 +32,3 @@ class PostDetailView(LoginRequiredMixin, DetailView, ModelFormMixin):
|
||||||
return self.form_valid(form)
|
return self.form_valid(form)
|
||||||
else:
|
else:
|
||||||
return self.form_invalid(form)
|
return self.form_invalid(form)
|
||||||
|
|
||||||
|
|
||||||
class PostCreateView(LoginRequiredMixin, CreateView):
|
|
||||||
model = Post
|
|
||||||
fields = ("title", "body", "img")
|
|
||||||
|
|
||||||
def get_success_url(self):
|
|
||||||
return reverse("posts:post_detail", kwargs={"pk": self.object.pk})
|
|
||||||
|
|
||||||
def form_valid(self, form):
|
|
||||||
self.object = form.save(commit=False)
|
|
||||||
self.object.user = self.request.user
|
|
||||||
self.object.save()
|
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<h1>Upload a new picture</h1>
|
|
||||||
<form enctype="multipart/form-data" action="" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
{{ form }}
|
|
||||||
<input type="submit", value="Post">
|
|
||||||
</form>
|
|
||||||
{% endblock content %}
|
|
||||||
Loading…
Add table
Reference in a new issue