Django template {%url%} concatenates to existing url

44 views Asked by At

Problem accured after moving application to other server.

For example url: http://example.com/path/otherpath. And I want logout:

<a href="{% url 'logout' %}">Logout</a>

it goes to: http://example.com/path/otherpath/logout

urls.py line:

url(r'^logout/$', 'logout', name='logout'),
1

There are 1 answers

0
Ildar Akhmetzyanov On

Problem was in fastcgi_params file. Works with this settings:

    fastcgi_param   PATH_INFO         $fastcgi_script_name;
    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;

    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI       $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;

    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

    fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;

    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param  REDIRECT_STATUS    200;