Как проверить ошибку валидации в django

Я пытаюсь проверить поля, которые фильтруются пользователем. Если в отфильтрованных данных введен какой-либо специальный символ, то я хочу вывести ошибку проверки в бэкенд.

Я получаю Invalid data in output, если передаю специальные символы по url. но получаю следующую ошибку

    invalid data..
    Internal Server Error: /sites/live-data/
    UnboundLocalError at /sites/live-data/
    return render(request, 'live-data.html', {'sites': sites.json(), 'categories': categories.json()})
    UnboundLocalError: local variable 'sites' referenced before assignment

вот код

Validations.py

def validateAlphanumeric(alphanumeric):
        alphanumeric_pattern  = re.compile(r"^[0-9a-zA-Z]*$")
        validate_alphanumeric = RegexValidator(alphanumeric_pattern, 'Only alphanumeric characters are allowed.')
        try:
            validate_alphanumeric(alphanumeric)
            return True
        except ValidationError:
            return False

views.py

    def liveData(request):
        ip = request.session['ip']
        label = ""
        category = ""
        status = ""
        ordering = ""
        try:
            ordering = request.GET['order_by']
        except:
            pass
        try:
            category = request.GET['category']
            status = request.GET['status']
        except:
            pass
        
        if not request.user.is_staff:
            label = request.session['label']
            site_url = ip+"/sites/list/"
            category_url = ip+"/setup/category/list/"
            if Validations.validateAlphanumeric(category) and Validations.validateAlphanumeric(status):
                print("valid.")
                headers = {
                'authorization': "Bearer *****",
                }
                params = {
                    'label': label,
                    'category': category,
                    'status': status,
                    'ordering': ordering
                }
                sites = requests.request("GET", site_url, headers=headers, params=params)
                categories = requests.request("GET", category_url, headers=headers)
            else:
                print("invalid data..")
            
          
        return render(request, 'live-data.html', {'sites': sites.json(), 'categories': categories.json()})
Вернуться на верх