def add_worm(request): if request.method == 'POST': form = WormForm(request.POST) if form.is_valid(): worm = form.save(commit=False) if request.user.is_authenticated(): worm.user = request.user fake = Faker() while True: slink = fake.password(length=7, special_chars=False) if len(Worm.objects.filter(slink=slink)) == 0: worm.slink = slink break continue worm.timestamp = make_aware(datetime.now()) worm.save() messages.add_message(request, messages.SUCCESS, 'You successfully got that worm!') else: messages.add_message(request, messages.ERROR, 'Form data invalid, all fields required') else: messages.add_message(request, messages.ERROR, 'Stop trying to hack this site!') return redirect(request.GET['next'])
def edit_worm(request, worm_id): worm = get_object_or_404(Worm, pk=worm_id) if request.method == 'GET': form = WormForm(instance=worm) elif request.method == 'POST': form = WormForm(instance=worm, data=request.POST) if form.is_valid(): worm = form.save(commit=False) worm.timestamp = datetime.now() worm.save() messages.add_message(request, messages.SUCCESS, 'Updated worm') return redirect('click_list', pk=worm_id) messages.add_message(request, messages.ERROR, 'Form data invalid' 'by field') return render(request, 'bookmarks/edit_worm.html', {'worm_id': worm_id, 'worm': worm, 'form': form})