from django.shortcuts import render, redirect, get_object_or_404 from django.contrib import messages from .models import Task, Client, TaskResult # Home view def index(request): return render(request, 'tasks/index.html') # Task views def task_list(request): tasks = Task.objects.all() return render(request, 'tasks/task_list.html', {'tasks': tasks}) def task_create(request): if request.method == 'POST': name = request.POST['name'] client_name = request.POST.get('client_name', '') script = request.POST.get('script', '') timeout_seconds = int(request.POST.get('timeout_seconds', 259200)) Task.objects.create( name=name, client_name=client_name if client_name else None, script=script if script else None, timeout_seconds=timeout_seconds ) messages.success(request, '任务创建成功!') return redirect('task_list') return render(request, 'tasks/task_create.html') def task_detail(request, task_id): task = get_object_or_404(Task, id=task_id) results = task.results.all() return render(request, 'tasks/task_detail.html', {'task': task, 'results': results}) # Client views def client_list(request): clients = Client.objects.all() return render(request, 'tasks/client_list.html', {'clients': clients}) def client_create(request): if request.method == 'POST': name = request.POST['name'] # Generate a simple token for demo purposes import secrets token = secrets.token_urlsafe(32) Client.objects.create( name=name, token=token ) messages.success(request, '客户端创建成功!') return redirect('client_list') return render(request, 'tasks/client_create.html')