2017-05-18 36 views
1

美好的一天! 我對Django很新穎。我的項目包含幾個應用程序(目錄,零件,註冊等),以及,如何主要url.py樣子:Django + fcgi + Nginx超鏈接錯誤

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測試服務器,但是當我試圖運行它與fcgi + Nginx,我已stucked與hypelink問題。當我點擊第一頁上的超鏈接之一時,它以某種方式保持其地址,當我嘗試點擊另一個鏈接時,它將它追加到第一個鏈接上。 例如,如果我的第一次點擊進入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

是否有人遇到類似問題?提前 感謝)

編輯 此外,我想該服務器上運行一些測試Django的項目,他們工作得很好。但是,這些項目有每個項目

回答

0

只有一個應用程序從Django的網站:

FastCGI支持已被棄用,將在Django 1.9中刪除。

請參閱http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html for uwsgi。

+0

是的,我知道,但我使用的服務器已經安裝了fcgi,而且我在安裝uwsgi時遇到了一些問題。所以我決定使用支持fcgi的Django 1.8。此外,我嘗試使用這種設置的測試項目運行良好,但他們每個項目只有一個應用程序。 – Felarm