46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
![]() |
from django.shortcuts import render, get_object_or_404, redirect, reverse
|
||
|
from django.contrib.auth.decorators import login_required
|
||
|
from django.utils.translation import gettext_lazy as _
|
||
|
from django.http import HttpResponseBadRequest
|
||
|
from .models import *
|
||
|
from .forms import *
|
||
|
|
||
|
|
||
|
@login_required
|
||
|
def create(request):
|
||
|
if request.method == 'GET':
|
||
|
form = BookForm()
|
||
|
return render(
|
||
|
request,
|
||
|
'books/create_update.html',
|
||
|
{
|
||
|
'form': form,
|
||
|
'title': _('添加书籍')
|
||
|
}
|
||
|
)
|
||
|
elif request.method == 'POST':
|
||
|
# check user credential in post data, must be the login user
|
||
|
pass
|
||
|
form = BookForm(request.POST)
|
||
|
if form.is_valid():
|
||
|
form.instance.last_editor = request.user
|
||
|
form.save()
|
||
|
|
||
|
return redirect(reverse("books:retrieve", args=[form.instance.id]))
|
||
|
else:
|
||
|
return HttpResponseBadRequest()
|
||
|
|
||
|
|
||
|
@login_required
|
||
|
def retrieve(request, id):
|
||
|
if request.method == 'GET':
|
||
|
book = get_object_or_404(Book, pk=id)
|
||
|
return render(
|
||
|
request,
|
||
|
'books/detail.html',
|
||
|
{
|
||
|
'book': book,
|
||
|
}
|
||
|
)
|
||
|
else:
|
||
|
return HttpResponseBadRequest()
|