2012-01-06 46 views
6

我一直在我自己的django環境中開發一段時間,現在使用manage.py runserver沒有任何問題,但現在我們已經有了一個設計師和一個前端開發人員需要在項目上工作,我發現自己對於環境的最佳實踐感到不知所措。如何爲設計師的開發環境設置Django/Apache

我可以要求他們設置自己的python環境,但是由於他們不是Python人員,而且他們運行的是Windows(我的開發人員和生產環境都是Linux),所以這要求非常高。

因此,我已經將它們設置在遠程服務器上,它們可以在本地進行安裝。但是在這個設置中,我實際上使用了運行在screen實例中的manage.py runserver ip:port的不同實例。它不能處理像常量重裝(非常適合我們的設計人員)這樣的事情,並且由於開發服務器的單線程特性,它會不時掛起。我想知道如何使用Apache進行設置。這個問題當然是staticfiles。每當上述任何一方想要添加或更改靜態文件時,他們都必須運行manage.py collectstatic,這是不實際的。我只是不知道任何其他方式來做到這一點。我發現使用Apache的所有文檔都適用於生產環境,所以......這就是我來到這裏的原因。

+0

如果設計者只是改變靜態文件和模板,爲什麼是Django重新加載? – second 2012-01-06 13:09:49

+0

好問題。每當她做了'svn up',它就會發生,但那隻會是一次重新加載。老實說,我不知道爲什麼'runserver'掛起,只是我必須每隔幾天重新啓動它,因爲它停止響應。 – 2012-01-06 13:23:06

+0

你可以試試django-devserver。它和runserver一樣工作(實際上替換runserver),但它運行在不同於默認runserver的多個線程中。至少可以更穩定。 – 2012-01-06 16:15:19

回答

0

這個問題的答案是很多比我想象的要簡單,我很抱歉讓那些回覆的人感到困惑。基本上我只想要一種方法來在我們的screen會話中以比./manage.py runserver ip:port更穩定的方式託管我們設計師的開發環境。我認爲必須有一種方法來爲Apache設置類似的東西,但不知道它是什麼。

這是我得到了什麼工作:

在你settings.py設置你的STATIC_URLMEDIA_URL變量相對URL。在我的情況下,我使用/static//media/

MEDIA_ROOT = PROJECT_ROOT + "/htdocs/media/" 
MEDIA_URL = "/media/" 
SERVE_STATIC = True 
STATIC_ROOT = PROJECT_ROOT + "/htdocs/public/" 
STATIC_URL = "/static/" 

配置Apache,就像您沒有任何靜態文件一樣。換句話說,忽略文檔在<Locaiton>塊中使用SetHandler None的建議。

<VirtualHost *:80> 

    WSGIScriptReloading On 
    WSGIDaemonProcess someprocessname 
    WSGIProcessGroup somegroupname 
    WSGIApplicationGroup somegroupname 
    WSGIPassAuthorization On 

    WSGIScriptAlias//path/to/config.wsgi 

    ServerName somewhere.awesome.ca 

    <Location "/"> 
     Order Allow,Deny 
     Allow from all 
    </Location> 

    ErrorLog /var/log/apache2/somewhere.awesome.ca.err 
    CustomLog /var/log/apache2/somewhere.awesome.ca.log combined 

</VirtualHost> 

我希望這有助於在未來的正確方向指向某人。

0

源代碼管理?讓他們檢查更改,然後設置一個提交掛鉤來收集靜態並重新啓動服務器。有了好的Windows GUI,我從來沒有一個設計師無法掌握基本概念。如果您使用的是dcvs,您可以始終將它們放在自己的分支中,因此您必須合併到主要的回購庫中,以防止它們錯誤地破壞其他東西。

+0

他們都非常喜歡顛覆命令(cli和gui),但我不想強迫他們只是改變CSS中的顏色。它會很慢,並會用超級變化填滿日誌。我希望找到一個可以重現'runserver'合併效果的Apache配置。 – 2012-01-06 13:31:02

+0

你有沒有想過使用mod_wsgi或fast_cgi?如果您觸摸正在運行的腳本文件,它將重新加載服務器 – tkone 2012-01-06 17:28:28