У меня есть djna go rest framework RestAPI.
Мое представление берет данные из последнего объекта пользователем и отображает HTML файл им.
I хочу, чтобы когда пользователь отправлял запрос на публикацию, он автоматически перенаправлял на созданный файл.
В настоящее время у меня есть метод извлечения вручную, который при добавлении поля id / первичного ключа (имя миссии в коде) в строка url, она открывает сгенерированный файл.
Я действительно заблудился во всех руководствах и документах в Интернете, и то, что я должен использовать, перенаправление на маршруты, декоратор, URL-адреса и так далее ...
Код:
#views.py
imports..
class PointsViewSet(ModelViewSet):
# Return all order by id, reversed.
queryset = Points.objects.all().order_by('-id')
serializer_class = PointsSerializer
data = queryset[0]
serialized_data = PointsSerializer(data, many=False)
points = list(serialized_data.data.values())
# I guess some kind of route belongs here...
def retrieve(self, request, *args, **kwargs):
mission_name = self.points[1]
assign_gdt = GeoPoint(lat=self.points[2], long=self.points[3])
gdt1 = [assign_gdt.get_lat(), assign_gdt.get_long()]
assign_uav = GeoPoint(lat=self.points[4], long=self.points[5], elevation=self.points[6])
uav = [assign_uav.get_lat(), assign_uav.get_long(), assign_uav.get_elevation()]
area_name = f"'{self.points[-2]}'"
try:
# Check if a file already exists in the DB.
HTMLFileInteractionWithDB.table = THREE_POINTS_TRINAGULATION
openfile = HTMLFileInteractionWithDB.return_file_from_db(mission_name=mission_name)
print('File was fetched from DB')
return render(request, openfile)
except:
# If no map was plotted, create a new one.
main = MainApp.run(gdt1=gdt1, uav=uav, mission_name=mission_name, area=area_name)
print('New file created')
return render(request, main)