我不确定为什么我的favicon不会出现。我按照其他人用来显示favicon的确切代码,而不是任何特别的代码。 所以我猜这为什么不起作用;图像的位置是错误的。或者图像的大小,类型是错误的。或者也许是因为我还在当地。 这是我的文件夹结构和我尝试的内容
----project
------------project
-------------------project
--------------------------settings
----------------------------------settings.py
-------------------template
---------------------------base.html
-------------------static
--------------------------image
--------------------------------logo.png
--------------------------css
---------------------------js
------------gitignore
------------env
-------------static
在我的django设置中
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static", "media")
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
所以这是我的尝试,
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}"/>
<link rel="shortcut icon" type="image/png" href="{{static_url/favicon.png}}">
<link rel="shortcut icon" type="image/png" href="project/project/static/image/logo.png">
<link rel="shortcut icon" type="image/png" href="project/static/image/logo.png">
修改
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('userena.urls')),
url(r'^', include('main.urls')),
]
if settings.DEBUG:
urlpatterns += patterns('',) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += patterns('',) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我有这样的感觉
AWS_FILE_EXPIRE = 200
AWS_PRELOAD_METADATA = True
AWS_QUERYSTRING_AUTH = True
DEFAULT_FILE_STORAGE = 'project.utils.MediaRootS3BotoStorage'
STATICFILES_STORAGE = 'project.utils.StaticRootS3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'realproject'
S3DIRECT_REGION = 'ap-northeast-2'
S3_URL = '//%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
MEDIA_URL = '//%s.s3.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME
MEDIA_ROOT = MEDIA_URL
STATIC_URL = S3_URL + 'static/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
import datetime
date_two_months_later = datetime.date.today() + datetime.timedelta(2 * 365 / 12)
expires = date_two_months_later.strftime("%A, %d %B %Y 20:00:00 GMT")
AWS_HEADERS = {
'Expires': expires,
'Cache-Control': 'max-age=86400',
}
这是阻止我的静态设置吗?在生产和本地,CSS和JavaScript工作。我可以通过管理员发布图片。但不是以静态方式(我将照片拖到文件夹并尝试显示该图像)
答案 0 :(得分:1)
您应该使用以下标记显示fav图标:
<link rel="icon" href="demo_icon.png" type="image/png">
rel属性必须等于“icon”才能工作。
确保您的图标大小为16x16或32x32,如果它仍无法正常工作,则建议您运行“./manage.py runserver”并检查输出以查找错误
答案 1 :(得分:0)
根据您的设置,文件路径应为'/project/static/image/logo.png'而不是'/project/project/static/image/logo.png'
在模板中它应该是{static'/ image / logo.png'} 不要忘记先在模板中加载静态
答案 2 :(得分:-1)
这不是因为当地的项目。即使您的项目没有实时/未托管,您也可以看到favicon。
我认为你添加了错误的链接类型。 它应该是“img / ico”
尝试使用此代码:
<link rel="shortcut icon" href="images/favicon.ico" type="img/ico"/>
在href中添加图像路径。