Вызывает ошибку при отсутствии заголовка, соответствующего указанному имени строки из CSV
Проблема в том, что когда пользователь нажимает на кнопку upload csv, выбирает файл и пытается его отправить. Если заголовок файла не равен "IP Address", то я получаю отладочное меню от Django. CSV файл не существует в какой-либо директории, поэтому он обрабатывается через загрузку, я хотел бы знать, что является лучшей практикой для поднятия ошибки, я попробовал несколько методов ниже, но все еще получаю отладочное меню.
Это класс forms.py, который работает с формой CSV.
class CSVForm(forms.Form):
csv_file = forms.FileField(required=True)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.ips_from_csv = []
def get_ips_from_csv(self):
return self.ips_from_csv
def clean_csv_file(self):
csv_file = self.cleaned_data.get("csv_file")
if not csv_file:
return
with csv_file.open() as file:
reader = csv.DictReader(io.StringIO(file.read().decode("utf-8")))
for row in reader:
form_data = self.cleaned_data.copy()
form_data["address"] = NetworkUtil.extract_ip_address(row["IP Address"])
self.ips_from_csv.append(form_data["address"])
Это то, что сейчас работает, ниже приведен код, который я пытался реализовать, но я не уверен, как обрабатывать ошибки.
if form_data["address"] != row["IP Address"]:
print("Invalid")
и это
with open(file, "r") as inf:
csv_reader = csv.DictReader(inf)
for header in csv_reader:
if header != row["IP Address"]:
print("Invalid")