Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
from django.views.generic import RedirectView from django.urls import path urlpatterns = [ path('<slug:slug>/', EditorYMap.as_view(), name='base'), path('', RedirectView.as_view(url='/name/')), ]
/name
class EditorYMap(StaffRequiredMixin, TemplateView): """ Load the map to the editor page. Загрузить карту на страницу редактора. """ template_name = "base/base.html" def get_context_data(self, **kwargs): slug = kwargs.get("slug") ymap = Map.objects.filter(slug=slug, active=True).first() context = super(EditorYMap, self).get_context_data(**kwargs) if ymap is not None: controls = ymap.controls if ymap.icon_collection is not None: icons = ymap.icon_collection.icons.filter(active=True) else: icons = None context['djeym_version'] = __version__ context['form_geo'] = GeoObjectsTransferForm(ymap_id=ymap.pk) context['form_controls'] = MapControlsForm(instance=controls) context['cluster'] = ymap.icon_cluster context['icons'] = icons context['tile'] = ymap.tile context['presets'] = ymap.presets.all() context['tile_sources'] = TileSource.objects.all() context['controls'] = controls context['external_modules'] = ymap.external_modules context['heat_form'] = HeatmapSettingsForm( instance=ymap.heatmap_settings) context['general_settings'] = ymap.general_settings context['load_indicators'] = LoadIndicator.objects.all() context['selected_load_indicator'] = ymap.load_indicator context['load_indicator_size'] = ymap.load_indicator_size context['category_icons_css'] = [] if DJEYM_YMAPS_ICONS_FOR_CATEGORIES[2] else \ DJEYM_YMAPS_ICONS_FOR_CATEGORIES[0] context['category_icons_js'] = [] if DJEYM_YMAPS_ICONS_FOR_CATEGORIES[2] else \ DJEYM_YMAPS_ICONS_FOR_CATEGORIES[1] context['form_cke'] = CKEditorTextareaForm() context['category_placemarks'] = ymap.category_placemark.filter( active=True) context['category_submarks'] = ymap.subcategory_placemark.filter( active=True) context['category_polylines'] = ymap.category_polyline.filter( active=True) context['category_polygons'] = ymap.category_polygon.filter( active=True) context['ymap'] = ymap return context
StaffRequiredMixin