def shorten_url(request, template_name='shortnr/index.html', reverse_url='shorten_url'): context = RequestContext(request) dict = {} if request.POST: form = ShortenerForm(request.POST) if form.is_valid(): try: url = ShortenedUrl.objects.get(url=form.cleaned_data['url']) if (url.user is None and request.user.is_authenticated() == False) or (url.user == request.user): dict['shortened_url'] = url.short_url dict['form'] = ShortenerForm() return render_to_response( template_name, dict, context, ) except: print form.cleaned_data['url'] url = form.save(commit=False) if request.user.is_authenticated(): url.user = request.user reverse_url = 'manage_urls' url.save() url.shorten_url() dict['shortened_url'] = url.short_url dict['form'] = ShortenerForm() return render_to_response( template_name, dict, context, ) else: form = ShortenerForm() dict['form'] = form return render_to_response( template_name, dict, context, )
def shortener(request): link = ShortUrl.objects.filter() if request.method == 'POST': form = ShortenerForm(request.POST) if form.is_valid(): data = form.cleaned_data if ShortUrl.objects.filter(original_url = data['original_url']).count()>0: shortUrl = ShortUrl.objects.filter(original_url = data['original_url']).get() context = {'shortener': ShortenerForm(), 'shortUrl': shortUrl, 'links': link} return render(request, 'result.html', context) else: symbols = string.digits + string.letters key = ''.join(choice(symbols) for item in range(7)) short_url = 'http://127.0.0.1:8000/%s' %key new_shortUrl = ShortUrl.objects.create(original_url = data['original_url'], short_url=short_url, clicks=0) context = {'shortener': ShortenerForm(),'links': link, 'new_shortUrl': new_shortUrl} return render(request,'result.html', context) context = {'shortener': form, 'links': link} return render(request, 'result.html', context) else: context = {'shortener': ShortenerForm(), 'links': link} return render(request, 'result.html', context)