【问题标题】:Bootstrap template not working correctly Django引导模板无法正常工作 Django
【发布时间】:2015-06-04 06:31:15
【问题描述】:

我有一个尝试与 Django 一起使用的引导模板,并且我已将引导资源与我尝试显示的 html 文件一起放置在模板目录中。我的问题是,当试图显示 html 文件时,它只在浏览器窗口中显示为文本,所以这会让我相信 Bootstrap 资源没有被正确使用。

这是我尝试使用的模板:http://startbootstrap.com/template-overviews/stylish-portfolio/

这是我的模板目录的样子:

css
font-awesome
fonts
img
js
index.html

我知道它使用 CDN 链接,但是当我下载 zip 时,资源与模板一起,所以我把它留在了那里。我对 Bootstrap 很陌生,对 Django 也很陌生,所以请放轻松,如果我的术语有问题,请纠正我。谢谢。

【问题讨论】:

    标签: python html django twitter-bootstrap web


    【解决方案1】:

    您应该将它放在static 文件夹中并配置您的设置。否则,如果您仍想将其放在template 中,请更改您的设置,但这是不寻常的。模板文件夹只能包含 html 文件。

    这是静态文件的示例设置。

    STATIC_URL = '/static/'
    
    # Additional locations of static files
    STATICFILES_DIRS = (
        # Put strings here, like "/home/html/static" or "C:/www/django/static".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        os.path.join(BASE_DIR, 'static'),
    )
    
    STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
        # django.contrib.staticfiles.finders.DefaultStorageFinder',
    )
    

    在您的模板(html 文件)中,这样称呼它:

    {% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static "css/bootstrap.min.css" %}" />
    

    【讨论】:

    • 第二个以上。此外,您可能需要查看 Chrome 开发人员工具的网络窗格 - 他们会警告您缺少 css 文件,并让您了解服务器正在将上面的静态配置转换为什么。 FireFox/Firebug 有相同的东西,但我发现更容易看到 Chrome 中使用的 url。
    • 这绝对有帮助,在您的帮助和查看@D_Supreme 的代码示例的帮助下,我最终弄明白了。谢谢。
    【解决方案2】:

    您需要声明一个放置 CSS 和 JS 文件的静态文件夹。

    如何设置静态文件夹参考https://docs.djangoproject.com/en/1.7/howto/static-files/

    一个示例实现https://github.com/Dsupreme/fests-django(关注css文件的放置位置和调用方式)

    【讨论】:

    • 嘿,谢谢。经过几个小时的工作,我刚刚解决了这个问题。感谢您提供的代码示例。他们非常有帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 2020-10-09
    • 2022-10-24
    • 1970-01-01
    • 2012-01-02
    • 2017-12-01
    • 2017-04-07
    相关资源
    最近更新 更多