Showing
6 changed files
with
55 additions
and
2 deletions
dcloud/website/forms.py
0 → 100644
... | @@ -9,6 +9,9 @@ | ... | @@ -9,6 +9,9 @@ |
9 | </head> | 9 | </head> |
10 | <body> | 10 | <body> |
11 | <div class="page-header"> | 11 | <div class="page-header"> |
12 | + {% if user.is_authenticated %} | ||
13 | + <a href="{% url 'post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a> | ||
14 | + {% endif %} | ||
12 | <h1><a href="/">Django Girls Blog</a></h1> | 15 | <h1><a href="/">Django Girls Blog</a></h1> |
13 | </div> | 16 | </div> |
14 | <div class="content container"> | 17 | <div class="content container"> | ... | ... |
1 | {% extends 'website/base.html' %} | 1 | {% extends 'website/base.html' %} |
2 | 2 | ||
3 | {% block content %} | 3 | {% block content %} |
4 | + | ||
4 | <div class="post"> | 5 | <div class="post"> |
5 | {% if post.published_date %} | 6 | {% if post.published_date %} |
6 | <div class="date"> | 7 | <div class="date"> |
7 | {{ post.published_date }} | 8 | {{ post.published_date }} |
8 | </div> | 9 | </div> |
9 | {% endif %} | 10 | {% endif %} |
11 | + {% if user.is_authenticated %} | ||
12 | + <a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a> | ||
13 | + {% endif %} | ||
10 | <h1>{{ post.title }}</h1> | 14 | <h1>{{ post.title }}</h1> |
11 | <p>{{ post.text|linebreaksbr }}</p> | 15 | <p>{{ post.text|linebreaksbr }}</p> |
12 | </div> | 16 | </div> | ... | ... |
1 | +{% extends 'website/base.html' %} | ||
2 | + | ||
3 | +{% block content %} | ||
4 | + <h1>New post</h1> | ||
5 | + <form method="POST" class="post-form">{% csrf_token %} | ||
6 | + {{ form.as_p }} | ||
7 | + <button type="submit" class="save btn btn-default">Save</button> | ||
8 | + </form> | ||
9 | +{% endblock %} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -4,6 +4,8 @@ from website import views | ... | @@ -4,6 +4,8 @@ from website import views |
4 | urlpatterns = [ | 4 | urlpatterns = [ |
5 | url(r'^$', views.post_list, name='post_list'), | 5 | url(r'^$', views.post_list, name='post_list'), |
6 | url(r'^post/(?P<pk>\d+)/$', views.post_detail, name='post_detail'), | 6 | url(r'^post/(?P<pk>\d+)/$', views.post_detail, name='post_detail'), |
7 | - url(r'^files/', views.file_list, name='file_list'), | 7 | + url(r'^post/new/$', views.post_new, name='post_new'), |
8 | + url(r'^post/(?P<pk>\d+)/edit/$', views.post_edit, name='post_edit'), | ||
8 | 9 | ||
10 | + url(r'^files/', views.file_list, name='file_list'), | ||
9 | ] | 11 | ] |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | -from django.shortcuts import render, get_object_or_404 | 1 | +from django.shortcuts import render, get_object_or_404, redirect |
2 | from django.utils import timezone | 2 | from django.utils import timezone |
3 | from website.models import Post | 3 | from website.models import Post |
4 | from restful.models import File | 4 | from restful.models import File |
5 | +from website.forms import PostForm | ||
5 | 6 | ||
6 | 7 | ||
7 | 8 | ||
... | @@ -17,3 +18,30 @@ def file_list(request): | ... | @@ -17,3 +18,30 @@ def file_list(request): |
17 | def post_detail(request, pk): | 18 | def post_detail(request, pk): |
18 | post = get_object_or_404(Post, pk=pk) | 19 | post = get_object_or_404(Post, pk=pk) |
19 | return render(request, 'website/post_detail.html', {'post': post}) | 20 | return render(request, 'website/post_detail.html', {'post': post}) |
21 | + | ||
22 | +def post_new(request): | ||
23 | + if request.method == "POST": | ||
24 | + form = PostForm(request.POST) | ||
25 | + if form.is_valid(): | ||
26 | + post = form.save(commit=False) | ||
27 | + post.author = request.user | ||
28 | + post.published_date = timezone.now() | ||
29 | + post.save() | ||
30 | + return redirect('post_detail', pk=post.pk) | ||
31 | + else: | ||
32 | + form = PostForm() | ||
33 | + return render(request, 'blog/post_edit.html', {'form': form}) | ||
34 | + | ||
35 | +def post_edit(request, pk): | ||
36 | + post = get_object_or_404(Post, pk=pk) | ||
37 | + if request.method == "POST": | ||
38 | + form = PostForm(request.POST, instance=post) | ||
39 | + if form.is_valid(): | ||
40 | + post = form.save(commit=False) | ||
41 | + post.author = request.user | ||
42 | + post.published_date = timezone.now() | ||
43 | + post.save() | ||
44 | + return redirect('post_detail', pk=post.pk) | ||
45 | + else: | ||
46 | + form = PostForm(instance=post) | ||
47 | + return render(request, 'blog/post_edit.html', {'form': form}) | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment