>[success] # 遇到的小問題
~~~
1. os.path.join(os.path.dirname(BASE_DIR), THEME, "static"),目錄拼接調整
2. 在頁面動態引入static 文件{% load static %}
3. <link rel="stylesheet" href="{% static '/css/base.css' %}"> 其中static 等同整個
目錄
~~~
~~~
THEME = 'themes\default'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(os.path.dirname(BASE_DIR), THEME, "static"),
]
print(os.path.join(os.path.dirname(BASE_DIR), THEME, "static"))
~~~
>[danger] ##### base.css
~~~
body {
background-color: #dbe2e9;
}
/* 頂部欄 */
.fixed-top {
position: fixed;
right: 0;
left: 0;
border-width: 0 0 1px;
}
header {
height: 50px;
background-color: #3d4450;
border-color: #080808;
line-height: 50px;
}
header nav a {
color: #fff;
padding: 0 1.5rem;
}
header nav a:hover {
color: #fff;
text-decoration:none;
background-color: #000;
}
header a.logo {
font-size: 1.5rem;
padding-left: 0;
}
header a.logo:hover {
background-color: #3d4450;
}
header .search {
margin-top: 5px;
}
/* 主體部分 */
.main .left-side .inner {
background-color: #fff;
padding: 30px 10px;
}
.main .right-side .inner{
background-color: #fff;
}
nav.category a {
margin-top: 20px;
margin-right: 20px;
}
.post-element-nav {
padding-top: 0;
padding-bottom: 0;
color: #428bca;
}
.post-element-title {
font-size: 25px;
}
.post-element-title a {
color: #333;
text-decoration:none;
border-bottom: 1px solid #ccc;
}
.post-element-desc {
padding: 1rem;
}
.main {
margin-top: 100px;
}
.main ul {
padding-left: 0px;
}
.post-element article {
margin-top: 10px;
}
.power {
margin-top: 30px;
}
.sidebar li {
list-style: none;
}
.sidebar a {
color: #444;
}
.sidebar-title {
height: 30px;
background-color: #3d4450;
border-color: #080808;
line-height: 30px;
color: #fff;
padding: 0 9px;
}
.sidebar-content {
padding: 0 9px;
}
~~~
>[danger] ##### base.html
~~~
{% load static %}
<!doctype html>
<html lang="en">
<head>
<title>醬路油過 blog - by 醬路油過</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0-beta/css/bootstrap.min.css">
<link rel="stylesheet" href="{% static '/css/base.css' %}">
</head>
<body>
<header class="fixed-top">
<div class="container">
<div class="row">
<div class="col-9">
<nav class="nav">
<a class="logo" href="/">醬路油過</a>
<a class="index" href="/">首頁</a>
{% for cate in nav_cates %}
<a class="link" href="{% url 'category' cate.id %}">{{ cate.name }}</a>
{% endfor %}
</nav>
</div>
<div class="col-3">
<div class="input-group search">
<input type="text" class="form-control" placeholder="Search for..." aria-label="Search for...">
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
</div>
</div>
</div>
</div>
</header>
<div class="container main">
<div class="row">
<div class="col-9 left-side">
<div class="inner">
{% block content %}
{% endblock %}
</div>
</div>
<div class="col-3 right-side">
{% for side in side_bars %}
<div class="sidebar sidebar-style">
<div class="sidebar-title">{{ side.title }}</div>
<div class="sidebar-content">
{% if side.display_type == 1 %}
{% autoescape off %}
{{ side.content }}
{% endautoescape %}
{% elif side.display_type == 2 %}
<ul>
{% for post in recently_posts %}
<li><a href="{% url 'detail' post.id %}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% elif side.display_type == 4 %}
<ul>
{% for comment in recently_comments %}
<li>{{ comment.content }}</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<hr/>
<nav class="nav category">
{% for cate in cates %}
<a href="{% url 'category' cate.id %}">{{ cate.name }}</a>
{% endfor %}
</nav>
</div>
<div class="container power">
<span class="text-muted">Power by 醬路油過@醬路油過</span>
</div>
</footer>
~~~
>[danger] ##### detail.html
~~~
{% extends "blog/base.html" %}
{% block content %}
<nav aria-label="breadcrumb" role="navigation">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">首頁</a></li>
<li class="breadcrumb-item"><a href="{% url 'category' post.category.id %}">{{ post.category.name }}</a></li>
<li class="breadcrumb-item active" aria-current="page">正文</li>
</ol>
</nav>
<div class="post-element">
<h3 class="post-element-title">
{{ post.title }}
</h3>
<div>
<nav class="nav">
分類:<a class="nav-link post-element-nav" href="{% url 'category' post.category_id %}">{{ post.category.name }}</a>
標簽:
<a class="nav-link post-element-nav" href="#">
{% for tag in post.tags.all %} {{ tag.name }}{% endfor %}
</a>
作者:<a class="nav-link post-element-nav" href="#">{{ post.owner.username }}</a>
創建時間:<a class="nav-link post-element-nav" href="#">{{ post.created_time }}</a>
</nav>
</div>
<article class="content">
{{ post.content }}
</article>
</div>
{% endblock %}
~~~
>[danger] ##### list.html
~~~
{% extends "blog/base.html" %}
{% block content %}
{% if posts %}
{% for post in posts %}
<div class="post-element">
<h3 class="post-element-title">
<a href="{% url 'detail' post.id %}">{{ post.title }} </a>
</h3>
<div>
<nav class="nav">
分類:<a class="nav-link post-element-nav" href="{% url 'category' post.category_id %}">{{ post.category.name }}</a>
標簽:
<a class="nav-link post-element-nav" href="#">
{% for tag in post.tags.all %} {{ tag.name }}{% endfor %}
</a>
作者:<a class="nav-link post-element-nav" href="#">{{ post.owner.username }}</a>
創建時間:<a class="nav-link post-element-nav" href="#">{{ post.created_time }}</a>
</nav>
</div>
<div class="post-element-desc">
<p>{{ post.desc }}</p>
</div>
</div>
{% endfor %}
{% if page_obj.has_previous %}<a href="?page={{ page_obj.previous_page_number }}">上一頁</a>{% endif %}
Page {{ page_obj.number }} of {{ paginator.num_pages }}.
{% if page_obj.has_next %}<a href="?page={{ page_obj.next_page_number }}">下一頁</a>{% endif %}
{% else %}
Empty!!
{% endif %}
{% endblock %}
~~~
* result.html
~~~
<!doctype html>
<html>
<head>
<title>評論結果頁 - typeidea</title>
<style>
body {TEXT-ALIGN: center;}
.result {
text-align: center;
width: 40%;
margin: auto;
}
.errorlist {color: red;}
ul li {
list-style-type: None;
}
</style>
</head>
<body>
<div class="result">
{% if succeed %}
評論成功!
<a href="{{ target }}">返回</a>
{% else %}
<ul class="errorlist">
{% for field, message in form.errors.items %}
<li>{{ message }}</li>
{% endfor %}
</ul>
<a href="javascript:window.history.back();">返回</a>
{% endif %}
</div>
</body>
</html>
~~~
- 網絡原理
- 為搭建框架做準備
- 簡單認識網路
- 自定義模擬網站案例
- 優化最終框架
- 數據存儲 -- data
- 用戶個人信息存儲 -- User.txt
- 路由映射 -- routes
- 處理用戶信息 -- routes_static.py
- 保存靜態文件 -- static
- templates -- html 集中處理模塊
- 首頁 -- index.html
- 登陸 -- login.html
- 用戶注冊頁面 -- register
- 日志模塊 -- log.gua.txt
- 啟動文件--server.py
- orm處理 -- model.py
- 日志模塊 -- utils.py
- 兩種數據庫類型
- 傳統數據庫了解篇
- 前端快速入門
- JS簡單使用入門
- css簡單快速入門
- DJANGO
- virtualenv-創建虛擬環境
- 項目結構
- django-admin中文配置
- django-打印sql語句
- django-基礎
- 認識MVC和MTV
- Django--初識
- Django--初識案例
- Django-FBV/CBV
- Django--常用input 交互
- Django-url
- Django-url.py 配置
- Django-include 使用
- Django-url name
- Django-ORM
- ORM-數據庫配置
- ORM-model字段
- ORM-model字段解釋
- ORM-字段選項
- ORM-查詢
- ORM-四種常用查詢方法
- ORM-三種獲取數據
- ORM-其他查詢方式
- ORM-條件查詢雙線
- ORM-Q和F條件使用
- ORM-三種數據庫交互
- 案例 -- 一對多
- ORM-技巧/常見問題
- ORM-N+1 問題
- ORM-并發的處理
- ORM-數量查詢、
- ORM-正向反向查詢
- ORM-基礎案例一
- ORM-基礎一對多案例
- Django-templates
- Django-模板的繼承
- Django-模板的過濾
- Django-自定義模板的過濾
- Django-cookie
- Django-cookies 裝飾器
- Djang-session
- Django-CSRF
- Django-中間件 -- 后續了解
- Django- 緩存 -- 沒有深入了解
- Django-form
- From-ajax
- form-內部驗證處理
- form-屬性
- form-常用的標簽字段
- form-常用的下拉和選擇
- form-widget速查
- Django-ajax序列化
- Django-多種ajax寫法
- ajax-原生寫法
- ajax-$寫法
- ajax-ifram
- Django-ajax圖片上傳
- ajax-原始寫法
- ajax-正常寫法
- iframe+form
- 實戰寫法
- Django-常用自編寫組件
- Django-雙菜單組合搜索
- Django - 多菜單組合搜索
- Django-分頁
- django-綜合基礎
- 綜合基礎-render
- django-admin
- admin-頁面配置
- admin-字段配置
- admin-編輯頁面
- admin-forms驗證
- admin-創建抽象類
- django-驗證碼
- 驗證碼-第三方生成庫
- 驗證碼-view.py使用
- 驗證碼-注意引入Monaco.ttf
- django-用戶注冊
- 注冊-form 模塊
- 注冊-views 模塊
- 注冊-html模塊
- 注冊-model模塊
- django-用戶登錄三種
- session登錄
- form-session 寫法
- view-寫法
- Html-寫法
- model-寫法
- 繼承類登錄
- 外鍵關聯登錄
- django-簡單的student 管理案例
- app-urls.py
- app-models.py配置
- admin-admin.py配置
- app-form.py 和數據庫關聯的寫法
- app-FBV_views.py
- app-CBV_views.py
- templates-index.html
- django-博客系統
- APP目錄-models.py 創建
- APP目錄-基礎展示數據分析
- APP目錄-基礎數據展示cls
- ListView
- DetailView
- FormView
- 額外功能拓建
- 添加文章搜索/用戶文章查詢功能
- 增加一個友情鏈接
- 增加一個評論模塊
- App-利用Bootstrap4 搭建樣式
- 項目crm
- 思維導圖
- perfectCRM-項目名字
- settings.py-配置
- view.py-登陸/登出函數
- crm-app文件
- model.py-表的創建
- admin.py-注冊后臺
- view.py-視圖層
- static-靜態文件
- css
- bootstrap.min.css
- dashboard.css
- ie10-viewport-bug-workaround.css
- signin.css
- fonts
- imgs
- js
- jquery.js
- bootstrap.min.js
- holeder.js
- ie10-viewport-bug-workaround.js
- ie-emulation-modes-warning.js
- plugins
- html模板文件-templates
- crm
- index.html-首頁模板