提供静态文件Django 1.11.3

时间:2017-07-04 10:09:49

标签: django

我是编程新手(Python 3.6,Django 1.11.3),我一直在教你自己和youtube以及产品的文档。现在,我正在关注Chris Hawkes的YouTube视频,标题为Django 1.10 Tutorial。我遵循了每条指令,但出于某种原因,数据库仍然没有找到静态文件。这里有项目结构,setting.py和index.html的链接。 https://www.dropbox.com/sh/q6yfxqt7k4wy43l/AACBcgMiOsdnCyGEvBK4zd45a?dl=0

祝你有所帮助,我对任何关于我应该做的事情表示赞赏。 谢谢

    {%load static%}
    <!DOCTYPE html>
    <html lang="en">
    ......

        <title>Green Soil Group</title>

        <!-- Bootstrap Core CSS -->
        <link  rel="stylesheet" href="{%static' 
         vendor/bootstrap/css/bootstrap.min.css' %}'"  >

        <!-- Custom Fonts -->
        <link href=" {%static ' vendor/font-awesome/css/font-
         awesome.min.css' %}' " rel="stylesheet" type="text/css">
        <link href='https://fonts.googleapis.com/css?



        <!-- Plugin CSS -->
        <link href=" {%static ' vendor/magnific-popup/magnific-popup.css ' 
         %}' " 
         rel="stylesheet">

setting.py

    INSTALLED_APPS = [
       'django.contrib.admin',
       'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',



    ROOT_URLCONF = 'book.urls'

    TEMPLATES = [
           {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+'/templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                      ],
                    },
                },
            ]

    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/1.11/howto/static-files/

    STATIC_URL = '/static/'

    STATICFILES_DIR = [
        BASE_DIR + "/static/",
       ]

1 个答案:

答案 0 :(得分:0)

试试这个:

  1. 确保您的项目遵循典型的Django项目结构:

    > book
     \ - settings.py
       - urls.py
       - wsgi.py
       > yourapp
        \ - models.py
          - views.py
          - tests.py
          - admin.py
          - apps.py
    

    我在您的settings.py中看到您没有安装任何应用。将以下条目添加到settings.py

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'yourapp.apps.YourappConfig'  # <- add this entry
    ]
    

    请注意,我使用yourapp作为应用名称,但此处使用您的真实应用名称。如果您尚未启动任何应用,请先参阅the docs

  2. 将静态内容放在books/yourapp/static/yourapp中。您可以在此处复制vendor目录。再次,请参阅the docs了解更多信息。

  3. 删除STATICFILES_DIR

  4. 中的settings.py
  5. 将以下条目添加到settings.py

    STATICFILES_FINDERS = [
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    ]
    
  6. 在模板中,以这种方式引用静态内容:

    href="{% static 'yourapp/path/to/the/resource' %}"
    

    示例:

    <link rel="stylesheet" href="{%static 'yourapp/vendor/bootstrap/css/bootstrap.min.css' %}'">
    
  7. 希望这有帮助。