gpt4 book ai didi

python - Django:STATIC_URL 将 appname 添加到 url

转载 作者:行者123 更新时间:2023-12-04 06:15:30 26 4
gpt4 key购买 nike

我已经像这样配置了我的静态设置:

STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
('js', os.path.join(STATIC_ROOT, 'js')),
('css', os.path.join(STATIC_ROOT, 'css')),
)

STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

这些在我的 urls.py 中:
urlpatterns = patterns('',
url(r'^login/?$', login, name='login'),
url(r'^logout/?$', logout_then_login, name='logout'),

url(r'^profile/(?P<user_id>\d+)$', 'profiles.views.detail'),
url(r'^profile/edit$', 'profiles.views.edit'),
)

urlpatterns += staticfiles_urlpatterns()

它适用于 url localhost:8000/login ,但是当我到达 localhost:8000/profile/edit 时网站,由我的 profiles 处理应用程序, {{ STATIC_URL }}更改来自 /static/... 的所有路径至 /profile/static/... ,所以我的 javascripts 和样式表再也找不到了。

我做错了什么?

编辑 : 这是我的 base.html
<!DOCTYPE html>
<html>
<head>
<title>Neighr{% block title %}{% endblock %}</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery.min.js"></script>
{% block script %}{% endblock %}
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>

最佳答案

由于您使用的是 django 内置开发服务器,请尝试从您的 urls.py 中删除以下行:

urlpatterns += staticfiles_urlpatterns()

在生产中,你最好不要用 django 提供静态文件,所以使用 collectstatic命令。

编辑

settings.py ,尝试这样的事情:
STATIC_ROOT = os.path.join(os.path.dirname(__file__), '../../static')
STATIC_URL = '/static/'

关于python - Django:STATIC_URL 将 appname 添加到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7307549/

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