Django + fcgi + Nginx超链接错误

时间:2017-05-18 21:39:44

标签: python django nginx hyperlink

美好的一天! 我对Django很新。我的项目包含几个应用程序(目录,部件,注册等)以及url.py的主要内容:

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^registration/', include('registration.urls', namespace='registration', app_name='registration')),
url(r'^parts/', include('parts.urls', namespace='parts', app_name='parts')),
url(r'^catalog/', include('catalog.urls', namespace='catalog', app_name='catalog')),
url(r'^$', TemplateView.as_view(template_name='base.html'), name='base'),]

这看起来如何应用urls.py:

`urlpatterns = [
    url(r'^(?P<username>[\w ]+)?$', views.catalog, name='catalog'),
    url(r'^transactions/$', views.catalog_transactions, name='catalog_transactions'),`
etc. etc.

django testserver上的一切正常,但是当我尝试用fcgi + Nginx运行它时,我已经遇到了超链接问题。当我点击第一页上的一个超链接时,它会以某种方式保留其地址,当我尝试单击另一个链接时,它会将其附加到第一个链接。 例如,如果我的第一次点击转到ip_address:port/catalog/,则该页面上的其他超链接会转换为ip_address:port/catalog/some_page/而不是ip_address:port/some_page/

我对模板中的所有超链接使用{% url %}标记,因此链接看起来像<a href="{% url catalog:some_page %}">Some_page</a>

那怎么看我的Nginx配置:

`server {
        listen 9090 default_server;
        server_name mtsk.tools.com;
        merge_slashes off;
        location / {
                fastcgi_pass 127.0.0.1:99;
                include fastcgi_params;
        }
        location /static/ {
                root /Django/Parts/;
        }}`

Django版本是1.8 Nginx版本是1.11.10 fcgi版本是2.4.0-2

有没有人遇到类似的问题? 在此先感谢)

EDIT 此外,我试图在该服务器上运行一些测试django项目,他们工作正常。但是这些项目每个项目只有一个应用程序

1 个答案:

答案 0 :(得分:0)

来自Django网站:

  

不推荐使用FastCGI支持,将在Django 1.9中删除。

有关uwsgi的信息,请参阅http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html