为什么不是我的favicon展示?是因为我的形象的位置还是因为我在当地没有制作?

时间:2016-03-25 01:35:50

标签: html css django

我不确定为什么我的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工作。我可以通过管理员发布图片。但不是以静态方式(我将照片拖到文件夹并尝试显示该图像)

3 个答案:

答案 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中添加图像路径。