2011-04-29 51 views
0

我已經改變了一些自己的看法模板網址最近, 和交換來自:在我的博客應用urls.pyDjango模板的URL沒有更新

(r'^(?P<slug>[^\.]+)/post/$', 'post'), 

(r'^(?P<slug>[^\.]+)/view_post/$', 'view_post'), 

來。雖然我做了syncdb並遷移了 我的博客應用程序與南,新的網址似乎不會被我的站點地圖或 視爲 舊網址,當我點擊視圖時將我重定向到 舊網址這篇文章

+0

你沒有更改URL。您只是更改了相同URL使用的視圖方法。 –

+1

好點:)我錯過了。 – Max

+0

我的錯,我沒有粘貼原來的狀態,因爲它真的是......(編輯爲「view_post」) 舊的URL與當前的Url真的不同。 然後有什麼想法? :) – Oleiade

回答

1

你怎麼重新啓動Gunicorn?與-HUP?聽起來很奇怪,但嘗試徹底殺死它然後重新啓動它。須─你不應該需要重新啓動Nginx的,只是gunicorn

#start command, stores pid in a file in /tmp 
sudo python manage.py run_gunicorn -p /tmp/gunicorn.pid -b 127.0.0.1:8000 --daemon 

#stop command 
sudo kill `cat /tmp/gunicorn.pid` #note those aren't apostrophes, but the ~ key 

#restart commad 
sudo kill -HUP `cat /tmp/gunicorn.pid` 

我寫這些少腳本,這樣我可以從我的主文件夾叫./start ./stop ./restart,使得它更容易

+0

我實際上是使用主管來管理gunicorn。殺死系統中的每個gunicorn實例並嘗試你的方式,但它沒有成功。 gunicorn是否有任何一種緩存可能? – Oleiade

+0

運行'ps aux | grep gunicorn'並且看到了什麼? (我假設某種* nix操作系統) –

+0

已經這樣做,空... – Oleiade

2

如果這是在Apache下運行,您將不得不強制重新加載或重新啓動apache,以便應用更改。

此外,在更改urls.py地圖(除非您正在運行我不知道的自定義附加組件)時,您不必syncdb或遷移您的應用程序。

+0

我實際上使用Nginx,並且已經重啓了它並且多次使用gunicorn。不幸的是沒有影響... – Oleiade

0

你是否從你的template修復了你的網址?在模板中,我看到了兩個實例:

<input type="hidden" name="next" value="{% url blog.views.view_post slug=post.slug %}" /> 

上面應該是:

<input type="hidden" name="next" value="{% url blog.views.post slug=post.slug %}" /> 
+0

是的,我做了,似乎沒有改變任何東西。另外,我的網站地圖也沒有更新,所以我想問題來自高於模板...開始變得絕望^^ – Oleiade

+0

你可以從你的項目'urls.py'發佈你的站點地圖代碼嗎?我相信它應該看起來像這樣:http:// docs。djangoproject.com/en/1.3/ref/contrib/sitemaps/#initialization。我想看看'sitemaps'變量的內容。 –