2019-12-24, Django 3.0 Tutorial 06

举报
Mark Chen 发表于 2019/12/24 10:56:04 2019/12/24
【摘要】 快到年底了,前兩個星期都晚睡,昨天身體發出不適信號,早早就睡,今早重新調整規律生活。 Django 3 官網入門教程第六課,講的是 style.css 在 Django 環境的配置,對於 css 不熟悉的要找些相關的課程補充基本常識。 在實際正式環境部署時,static 如字面所述是靜態的,這不是 Django 開發的強項,Django 開發的強項反過來講就是處理動態的數據和...

快到年底了,前兩個星期都晚睡,昨天身體發出不適信號,早早就睡,今早重新調整規律生活。    Django 3 官網入門教程第六課,講的是 style.css 在 Django 環境的配置,對於 css 不熟悉的要找些相關的課程補充基本常識。    在實際正式環境部署時,static 如字面所述是靜態的,這不是 Django 開發的強項,Django 開發的強項反過來講就是處理動態的數據和計算等。

我自己在這部份,有幾次轉不出來。發現在找到錯在那裡,不太容易。比較好的策略是,按照對的先做,有能力時再來變化。


2019-12-24, Django 3.0 Tutorial 06


參考文檔: https://docs.djangoproject.com/en/3.0/intro/tutorial06/

1. Customize your app’s look and feel

  • 首先要知道Django 有一致的風格。所以如同 templates, static 也是做成像是三明治的資料夾結構。

  • templates 有些 settings 上的設置,基本上,可以不去動。        static 最好創建項目後,立馬手動加上兩行,可以參考        https://tutorial.djangogirls.org/en/django_start_project/

            STATIC_URL = '/static/'
            STATIC_ROOT = os.path.join(BASE_DIR, 'static')

2. Adding a background-image

  • 這一小段就是上面所說的,要有些css 的常識。

  • 官網入門教程在這部分,沒有真的提供 background.gif,要實做,自己建一個 background.gif 的圖檔。

3. 補充說明

  • 純粹個人感受,Django官網在部署部分,基於其理念,實際用例太少。        必需要多參考其它教程。學習基本知識和學習實際應用,兩者之間還是有些差異,學習者要用心體會,自主選擇,不要過度依賴單一教材。

  • 官網 static-files 專題 ,https://docs.djangoproject.com/en/3.0/howto/static-files/        提到的例子,是寫死的

            STATIC_ROOT = "/var/www/example.com/static/"

           使用 Djagnogirls 的例子,是大多數類似教程所採用的,再重覆一下,如後:

            STATIC_ROOT = os.path.join(BASE_DIR, 'static')

           這種寫法,和 數據庫的設置是一致的,推荐採用,也就是說,我們要多寫成和 Django 更像的風格。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
  • 這裡的 BASE_DIR 是在  settings.py 自定義的

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

由於這個 settings.py 是指 mysite/mysite/settings,所以 static 是和 內層的 mysite 同層的。 有遇到問題,或是疑問,可以多用 print 驗証。要提醒的是,有兩層 os.path.dirname 。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。