我不知道为什么在Django的管理页面中静态文件的url会改变。我的模型类如下所示
class MW_test(models.Model):
name = models.CharField(max_length=10)
tst = models.CharField(max_length=5, null=True, blank=True)
data = models.CharField(max_length=10, null=True, blank=True)
img = models.FileField(upload_to='static/test_images')
def __str__(self):
return self.name正如你在上面的代码中看到的,静态文件保存在static/test_images中。但是,当我点击Django管理页面的静态文件链接。(见下面的屏幕截图)我得到404找不到。(见下面的屏幕截图)原因是请求的url不是我上传的url。我不知道为什么Django管理中的url链接会改变。实际上,当我手动输入url时,我可以得到静态文件。


发布于 2015-08-07 15:00:35
对于本地测试和使用,需要进行以下更新:
urls.py:
from django.conf import settings
from django.conf.urls.static import static
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)并在设置文件中添加类似以下内容:
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_ROOT_DIR = 'static-tmp'
STATIC_ROOT = normpath(join(BASE_DIR, STATIC_ROOT_DIR))
STATIC_URL = '/static/'
STATIC_DIR_BASE_PATH = join(BASE_DIR, "static")
STATICFILES_DIRS = (
STATIC_DIR_BASE_PATH,
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)发布于 2015-08-07 16:29:18
STATIC_URL必须是绝对路径:即它必须以斜杠开头。您可能已经将其设置为static/:它需要为/static/。
https://stackoverflow.com/questions/31870157
复制相似问题