所以我将Django项目放在服务器上的一个文件夹中,如下所示:
www.mydomain.com/myfolder /
索引页面加载,但css文档之类的东西不加载,因为路径不正确。我错过了一条捷径吗?我查看了settings.py文档,找到了指定我的站点文件夹的地方,但没有找到任何帮助。
例如,如果我在我的设置中指定了这个:
STATIC_URL = 'static/'
然后它将在我的 / myfolder / login 页面上查找我的css文档:
http://mydomain.com/myfolder/login/static/stylesheet.css
如果我指定:
STATIC_URL = '/static/'
然后它将在我的 / myfolder / login 页面上查找我的css文档:
http://mydomain.com/static/stylesheet.css
与此同时,我的css文件位于:
http://mydomain.com/myfolder/static/stylesheet.css
我需要更改所有内容并在所有内容之前指定/ myfolder /吗?
答案 0 :(得分:1)
这个问题在django教程上有一个很好的练习解决方案:
请参阅:
https://docs.djangoproject.com/en/1.6/intro/tutorial06/#customize-your-app-s-look-and-feel
您应该在每个应用程序中创建一个/static/appname/
文件夹,然后将静态文件放在其中。
因此,在您的应用中,静态文件网址应该变为:
http://mydomain.com/static/app_name/stylesheet.css
哪个不会与其他应用发生冲突。
你最好阅读我上面提供的链接,教程显示了一个好习惯。
答案 1 :(得分:1)
你不只是需要这样做吗?
STATIC_URL = '/myfolder/static/'
答案 2 :(得分:1)
我认为您需要在设置中添加STATIC_ROOT的路径,并更新urls.py文件。
我的例子:
#settings.py
....
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static",)
#path to your static folder
#urls.py
...
from django.conf import settings
from django.conf.urls.static import static
....
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)