我在移动我的静电时遇到了一些麻烦。文件夹出了基地' django_project'项目。根据我的经验,Django一直在寻找静态的'基础项目里面的文件夹,但它对我来说似乎很难看,我想将它移到我所有其他Django应用程序的旁边。
这是我当前的文件目录设置。
/home/django/django_project/
/django_project/
/myapplication/
/templates/
/static/
现在,'模板'文件夹工作正常,我可以毫无困难地找到我的所有模板文件。但是,我找不到任何静态文件,静态设置总是让我烦恼。
以下是' django_project'的我的settings.py文件基础项目。
...
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_URL = '/static/'
# Go back one directory from this file and move into the 'static' folder
STATICFILES_DIRS = (
os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'static')),
)
# Template files (HTML)
TEMPLATE_DIRS = (
'/home/django/django_project/templates/',
)
任何人都可以写出STATIC_URL或STATICFILES_DIR,以便它指向我的' / home / django / django_project / static /'夹?提前谢谢。
答案 0 :(得分:1)
尝试这样的东西,它更干净。
STATIC_PATH = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'static'))
STATIC_URL = '/static/' # You may find this is already defined as such.
STATICFILES_DIRS = (
STATIC_PATH,
)
STATICFILE_DIRS - 指定本地磁盘上静态目录的位置
STATIC_URL - 指定从Web服务器访问静态媒体的URL。
假设您的静态目录中有dragontoothless.jpg文件。要从您的html页面提供服务,您可以使用类似的内容。
<img src="/static/dragontoothless.jpg" />
希望这有帮助!
答案 1 :(得分:0)
注意:
os.path.abspath(filename)
返回从当前工作目录中看到的绝对路径。它不会检查文件是否确实存在。
os.path.dirname
将查找目录返回路径名路径的目录名。要获取绝对路径的目录名,请使用os.path.dirname(os.path.dirname(__file__))
BASE_DIR = os.path.dirname(os.path.dirname( file ))
静态网址是
STATIC_URL = '/static/'
STATICFILES_DIRS = [ os.path.join(BASE_DIR,&#34; static&#34;), ]
答案 2 :(得分:0)
通过将静态文件放在另一个文件夹中并创建staticfiles目录来解决这个问题:STATICFILES_DIRS = [os.path.join(BASE_DIR,'static / another folder'),]
答案 3 :(得分:-3)
在settings.py中尝试此操作
STATIC_ROOT =&#39; / path / to / static / folder&#39;
只需将右侧更改为静态文件夹的绝对路径。