簡體   English   中英

Django-使用沒有靜態文件的CSS顯示HTML

[英]Django - display html with css without staticfiles

目前正在學習Django的基礎知識。 我有點理解url和視圖的概念。 我已經下載了引導程序模板,並希望將其設置為主頁。 我知道,我可以重做所有頁面,使其成為模板並將css文件放入靜態文件夾,然后將其與url ,並且應該可以正常工作。 我設法顯示了創建lambda HttpResponse函數的頁面,但無法在此處鏈接CSS。 這樣的事情可能嗎? 我可以以某種方式將具有CSS的網頁拖放到文件夾中並進行鏈接,還是必須以Django的方式進行?
我知道,這種django方式不那么混亂,而且可能更好,但這只是出於測試和學習目的。
抱歉,如果已經問過,我嘗試在問之前尋找答案。

復制您的CSS,並將其放在<style> </style>標記內的HTML頁面中。

我猜您正在沿着這條路走,因為要使靜態文件服務正常工作似乎很復雜。 提供靜態文件是一件非常容易的事情-將靜態文件指向某個文件后,就可以使用if測試任何東西:

https://docs.djangoproject.com/zh-CN/1.9/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = ("/Users/you/path/to/static",)                                       

然后,您只需要在該頁面的URL中使用static。

我使用所有模板擴展的base.html 您可以將其{% include %}用作CSS,也可以直接引用它。 因此,您可以更改1個變量(我在我的主上下文文件中完成此操作 ),並使所有模板一起使用。 例如

在base.html中:

<html>
<head>
{% if testing %}
    <!-- directly include stylesheet in page -->
    <style>{% include "my.css" %}<style>
{% else %}
    <!-- standard stylesheet link -->
    <link rel='stylesheet' type='text/css' href='my.css'>
{% end %}
</head>
<body>
{% block content %}
{% endblock content %}
</body>
</html>

在您的模板中:

{% extends "base.html" %}
{% block content %}
     Hi, Mom!
{% endblock content %}

順便說一句, base.html具有完整的網站設計,並且非常自由地使用{% block %}可以使您的大多數視圖模板簡潔明了。 模板文檔是您的朋友!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM