Django View вызывается дважды из Chromium

Столкнулась с проблемой вызова двух разных вьюх, когда вызвана должна быть только одна. Проблема возникает только в Chromium.

Мои urls

urlpatterns = [
    path('', views.IndexView.as_view(), name='index'),
    path('syslog', views.SyslogView.as_view(), name='syslog'),
    path('<str:page_url>', views.ServerView.as_view(), name='servers')
]

Мои представления

class ServerView(View):

    def __init__(self):
        self._zapi = ZabbixAPI(ZABBIX_URL, user=ZABBIX_USER, password=ZABBIX_PASSWORD)

    def get(self, request, page_url):
        item = MENU.get(page_url)
        answer = self.__get_hosts_info(group_name=item.name)
        servers = self.__generate_servers(answer)

        params = {"page_name": item.name,
                  "page_header": item.header,
                  "page_url": item.url,
                  "servers": servers}
        return render(request, "control_system/server_page.html", params)

    def __generate_servers(self, answer):
        servers = []
        for s in answer:
            data = {}
            data["region"] = s["inventory"]["site_state"] if s["inventory"] else ""
            data["location"] = s["inventory"]["location"] if s["inventory"] else ""
            data["name"] = s["name"]
            data["ip"] = s["interfaces"][0]["ip"]
            servers.append(data)
        return servers

    def __get_hosts_info(self, group_name):
        hosts = self._zapi.do_request("hostgroup.get", {"output": "extend",
                                                        "selectHosts": "extend",
                                                        "filter": {
                                                        "name": [
                                                            group_name
                                                            ]
                                                        }})["result"][0]["hosts"]
        hostids = [z["hostid"] for z in hosts]
        answer = self._zapi.host.get(output=["name"],
                                    selectInterfaces=["interfaceid","ip"],
                                    selectInventory=["location", "site_state"],
                                    hostids=hostids)
        return answer

class IndexView(View):

    def __init__(self):
        super().__init__()
        self._zapi = ZabbixAPI(ZABBIX_URL, user=ZABBIX_USER, password=ZABBIX_PASSWORD)

    def get(self, request):
        params = {"page_name": "HOME",
                  "page_header": "Главная",
                  "page_url": "home"}
        return render(request, "control_system/index.html", params)

Мой шаблон меню

{% for menu_item in menu %}
    <li {% if page in menu_item.url %} class="active" {% endif %}>
        {% if menu_item.url == "home" %}
            <a href="{% url 'index' %}">
        {% elif menu_item.url == "syslog" %}
            <a href="{% url 'syslog' %}">
        {% else %}
            <a href="{% url 'servers' menu_item.url %}">
        {% endif %}
        <i class="fa fa-link"></i>
        <span>{{ menu_item.name }}</span>
        </a>
    </li>
{% endfor %}

При клике на любую ссылку из меню вызывается нужная вьюха, и в любом случае ServerView. Не могу понять, в чем причина( Заранее спасибо за ответы!


Ответы (0 шт):