第一个项目
This commit is contained in:
53
family_rpa/main/views.py
Normal file
53
family_rpa/main/views.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.http import HttpResponse
|
||||
from django.utils import timezone
|
||||
from django.core.files.storage import default_storage
|
||||
from django.core.paginator import Paginator
|
||||
from .models import File, Message
|
||||
from .forms import FileUploadForm, MessageForm
|
||||
from django.utils.timezone import timedelta
|
||||
|
||||
def home(request):
|
||||
# 获取最近一周的留言
|
||||
one_week_ago = timezone.now() - timedelta(days=7)
|
||||
messages = Message.objects.filter(created_at__gte=one_week_ago).order_by('-created_at')
|
||||
|
||||
# 获取公开文件
|
||||
files = File.objects.filter(is_public=True).order_by('-created_at')
|
||||
|
||||
return render(request, 'main/home.html', {
|
||||
'messages': messages,
|
||||
'files': files
|
||||
})
|
||||
|
||||
def upload_file(request):
|
||||
if request.method == 'POST':
|
||||
form = FileUploadForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
file = form.save(commit=False)
|
||||
if request.user.is_authenticated:
|
||||
file.owner = request.user
|
||||
file.save()
|
||||
return redirect('home')
|
||||
else:
|
||||
form = FileUploadForm()
|
||||
return render(request, 'main/upload.html', {'form': form})
|
||||
|
||||
def delete_file(request, file_id):
|
||||
file = get_object_or_404(File, id=file_id)
|
||||
if request.user == file.owner:
|
||||
file.file.delete()
|
||||
file.delete()
|
||||
return redirect('home')
|
||||
|
||||
def post_message(request):
|
||||
if request.method == 'POST':
|
||||
form = MessageForm(request.POST)
|
||||
if form.is_valid():
|
||||
message = form.save(commit=False)
|
||||
message.ip_address = request.META.get('HTTP_X_FORWARDED_FOR', request.META.get('REMOTE_ADDR'))
|
||||
message.save()
|
||||
return redirect('home')
|
||||
else:
|
||||
form = MessageForm()
|
||||
return render(request, 'main/message.html', {'form': form})
|
||||
Reference in New Issue
Block a user