gpt4 book ai didi

django - 使用 django runserver 开发服务器时如何提供静态文件?

转载 作者:行者123 更新时间:2023-12-03 15:05:33 26 4
gpt4 key购买 nike

我正在使用 Django 1.5

我能够在生产中提供文件,因为它是在 apache 级别处理的。这是我的 httpd.conf 文件:

<VirtualHost *:80>
WSGIScriptAlias / /home/membership/membership/wsgi.py

Alias /static/ "/home/membership/static/"


<Directory /home/membership/static>
Order deny,allow
Allow from all
</Directory>

<Directory "/usr/lib/python2.6/site-packages/django/contrib/admin/static/admin">
Order deny,allow
Allow from all
</Directory>

<Directory /home/membership/membership>
<Files wsgi.py>
Order deny,allow
Satisfy Any
Allow from all
</Files>
</Directory>
</VirtualHost>

由于 Alias /static/ "/home/membership/static/",这在生产中运行良好

当我尝试在本地开发环境中运行该应用程序时,我无法让它提供静态文件,我只是收到一个页面未找到 404 错误。我猜这是因为当我在本地开发时,请求会直接发送到开发服务器,因为没有使用 apache。

enter image description here

我在/static/me.png 有一个文件。

有没有我应该指定为开发中的静态文件提供服务的地方?

运行时 python manage.py collectstatic它似乎只收集管理应用程序的静态文件。我直接在/app/static 目录中有一个文件,我正在尝试提供该文件。

最佳答案

如果您在开发期间提供静态文件

在您的 设置.py 文件:

# Add it on your settings.py file
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"), # your static/ files folder
]

例子:

enter image description here

在您的根上 urls.py 文件:
# add these lines
from django.conf import settings
from django.conf.urls.static import static

# Add +static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

例子:

enter image description here

这不适合生产使用!查看更多: https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-during-development

对于 上的媒体文件媒体/目录:
https://docs.djangoproject.com/en/dev/howto/static-files/#serving-files-uploaded-by-a-user-during-development

关于django - 使用 django runserver 开发服务器时如何提供静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com