1. 程式人生 > >$Django 資料庫圖片渲染設計 個人站點設計 截斷函式

$Django 資料庫圖片渲染設計 個人站點設計 截斷函式

1.資料庫圖片渲染設計

1.模型層

class User_info (AbstractUser):
    head_img = models.FileField (upload_to='test', default='test/2.jpg',null=True, blank=True)

2.settings層

AUTH_USER_MODEL='app01.User_info'
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

3.路由層

from django.views.static import serve
urlpatterns = [
    url(r'^media/(?P<path>.*)',serve,{'document_root':settings.MEDIA_ROOT}),

]

4.模板層

<img class="media-object" src="media/{{ foo.blog.user_info.head_img }}" alt="" width="50px" height="50px">

2.個人站點設計

#個人站點路由設計
	#放到最後,都匹配完成,沒有匹配到,再匹配它
	url(r'^(?P<username>[\w]+)', views.user_blog),
	#檢視函式:
	def user_blog(request,username):
		print(username)
		#去資料庫過濾,存在,返回個人部落格,不存在,返回404頁面
#個人站點樣式的顯示
	#不同的人都有一個自己的css檔案,
	<link rel="stylesheet" href="/static/css/{{ blog.theme }}">

  

3.截斷函式

文章標題   時間                     blog_id     y_m
	文章1	2018-11-29 03:27:22.342697	1          2018-11
	文章2	2018-10-02 03:28:03.000000	1          2018-10
	文章3	2018-10-11 03:29:16.000000	1          2018-10
	
	from django.db.models.functions import TruncMonth
	models.Article.obbject.all().annotate(y_m=TruncMonth('create_time)).vaules('y_m').annotate(coun=Count('y_m')).values('y_m','coun')