Djano как применить несколько логик из одной и той же фукции в зависимости от посещения страницы пользователем?

Я написал функцию для загрузки csv файла. У меня есть два типа пользователей - врач и пациент. Когда любой пользователь посещает страницу patient.html, он может загрузить все данные пациента. Я знаю, что могу написать другую функцию для загрузки всех данных врача, когда любой пользователь посещает страницу doctor.html, но я хочу сделать это в той же функции. вот мой код:

def exportcsv(request,slug=None):
    response = HttpResponse(content_type='text/csv') 
    writer = csv.writer(response)
    all_patient = Patient.objects.all()
    all_doctor = Doctor.objects.all()
    if slug == None:
        if all_patient:
             response ['Content-Disposition'] = 'attachment; filename=AllPatientData'+str(datetime.date.today())+'.csv'
             writer.writerow(['patient_id','patient_name','date_of_birth','age','phone','email','gender','country','state','city','zip_code','address'])     
             for i in all_patient:
                 writer.writerow([i.patient_id,i.patient_name,i.date_of_birth,i.age,i.phone,i.email,i.gender,i.country,i.state,i.city,i.zip_code,i.address])
        if all_doctor:
             response ['Content-Disposition'] = 'attachment; filename=AllDoctorData'+str(datetime.date.today())+'.csv'
             writer.writerow(['docter_id_num','doctor_name','doctor_speciality','doctor_experience','date_joined'])     
             for i in all_doctor:
                 writer.writerow([i.docter_id_num,i.doctor_name,i.doctor_speciality,i.doctor_experience,i.date_joined])   
    
 
    
   

    return response

my urls.py

  path('export-csv-all-data/',views.exportcsv,name='export-csv-all-data'),

Сейчас он загружает данные всех пациентов и врачей вместе. Я хочу, чтобы при посещении страницы doctor.html загружались только все данные врача, а при посещении страницы patient.html - все данные пациента. Есть идеи, как я могу сделать это с помощью функции exportcsv view? Я думаю, что мы можем добавить различные параметры url в функцию exportcsv view, но я не знаю, как это сделать.

Вернуться на верх