Esempio n. 1
0
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,
    )
Esempio n. 2
0
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)