第一个项目

This commit is contained in:
2025-02-16 21:51:06 +08:00
commit 1bbb2f79dc
62 changed files with 956 additions and 0 deletions

53
family_rpa/main/views.py Normal file
View 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})