這周主要是官網的相關開發
1.enum是計算機編程語言中的一種數據類型。
枚舉類型:在實際問題中,有些變量的取值被限定在一個有限的范圍內。例如,一個星期內只有七天,一年只有十二個月,一個班每周有六門課程等等。如果把這些量說明為整型,字符型或其它類型顯然是不妥當的。為此,C語言提供了一種稱為“枚舉”的類型。在“枚舉”類型的定義中列舉出所有可能的取值,被說明為該“枚舉”類型的變量取值不能超過定義的范圍。應該說明的是,枚舉類型是一種基本數據類型,而不是一種構造類型,因為它不能再分解為任何基本類型。
2.ng的分頁
http://www.php.cn/js-tutorial-1909.html
Math.ceil用于對數值向上取整,即得到大于或等于該數值的最小整數
$scope.setPage = function() {
$scope.pageSize = 10;
$scope.pages = Math.ceil($scope.personinfos.length / $scope.pageSize); //分頁數
$scope.newPages = $scope.pages > $scope.pageSize ? $scope.pageSize : $scope.pages;
$scope.pageList = [];
$scope.selPage = 1;
// 設置表格數據源
$scope.setData = function() {
// 通過當前頁數篩選出表格當前顯示數據
$scope.items = $scope.personinfos.slice(($scope.pageSize * ($scope.selPage - 1)), ($scope.selPage * $scope.pageSize))
}
$scope.items = $scope.personinfos.slice(0, $scope.pageSize);
// 分頁數組
for (var i = 0; i < $scope.newPages; i++) {
$scope.pageList.push(i + 1);
}
// 打印當前選中頁的索引
$scope.selectPage = function(page) {
// 不能小于1,大于最大值
if (page < 1 || page > $scope.pages) return;
// 最多顯示5個分頁
if (page > 2) {
// 因為只顯示5個頁數,大于2頁開始分頁轉換
var newPageList = [];
for (var i = (page - 3); i < ((page + 2) > $scope.pages ? $scope.pages : (page + 2)); i++) {
newPageList.push(i + 1);
}
$scope.pageList = newPageList;
}
$scope.selPage = page;
$scope.setData();
$scope.isActivePage(page);
$log.log("選擇的頁:" + page);
};
// 設置選中頁樣式
$scope.isActivePage = function(page) {
return $scope.selPage == page;
};
// 上一頁點擊事件
$scope.Previous = function() {
$scope.selectPage($scope.selPage - 1);
}
// 下一頁點擊事件
$scope.Next = function() {
$scope.selectPage($scope.selPage + 1);
}
}
3.hover 動畫
.imghover:hover {
-webkit-transform: translateY(-20px);
-moz-transform: translateY(-20px);
-ms-transform: translateY(-20px);
transform: translateY(-20px);
-webkit-transition: -webkit-transform .3s;
transition: -webkit-transform .3s;
-moz-transition: transform .3s, -moz-transform .3s;
transition: transform .3s;
transition: transform .3s, -webkit-transform .3s, -moz-transform .3s;
}
4.js獲取時間戳
- 1 >Date.parse(new Date())
指定日期和時間據1970/1/1午夜(GMT時間)之間的毫秒數 - 2 >(new Date()).valueOf()
返回1970年1月1日至今的毫秒數 - 3 >new Date().getTime()
返回Date對象的原始值
同樣從時間戳解析出時間可以用下面的代碼
new Date(1498788561000).toLocaleString()
image.png
5.Django 通過內網通過ip訪問
使用
python manage.py runserver 0.0.0.0:8000
6.get_template 在Django1.11被廢棄,解決
直接把相關語句刪掉
把return里語句替換成
return render(request,'newscontent.html',{'posts': posts})
7.配置Django的ckeditor
http://www.nanerbang.com/article/2/
8.Django配置分頁
1.內置django分頁插件:
view.py引入
from django.core.paginator import PageNotAnInteger, Paginator, EmptyPage
view.py
message_list = MyWebPost.objects.all().order_by('-pk')#獲取數據列表
paginator = Paginator(message_list, 6)#設置每頁最多內容
page = request.GET.get('page')#獲取頁碼
try:
contacts = paginator.page(page)#分配頁面
except PageNotAnInteger:
contacts = paginator.page(1)
except EmptyPage:
contacts = paginator.page(paginator.num_pages)
index.html
<div class="pagination col-md-12 col-xs-12">
<span class="step-links col-md-12 col-xs-12">
{% if contacts.has_previous %}
<a href="?page={{ contacts.previous_page_number }}">前一頁</a>
{% endif %}
<span class="current">
第{{ contacts.number }}頁 / 共{{ contacts.paginator.num_pages }}頁
</span>
{% if contacts.has_next %}
<a href="?page={{ contacts.next_page_number }}">下一頁</a>
{% endif %}
</span>
</div>
9.修改Django后臺的標題等
admin.site.site_header = _('My project')
admin.site.index_title = _('Features area')
admin.site.site_title = _('HTML title from adminsitration')
10.Django后臺字段顯示方式,以及搜索框
class MyWebPostAdmin(admin.ModelAdmin):
list_display = ('title', 'timestamp')
search_fields = ('title', 'body')
admin.site.register(models.MyWebPost, MyWebPostAdmin)
11.Django后臺在字段中顯示圖片
model.py
def admin_image(self):
return '' % self.img
admin_image.allow_tags = True
admin.py
list_display = ('admin_image')
image.png
12.上傳圖片預覽
model.py
def admin_image(self):
return '' % self.img
admin_image.allow_tags = True
admin_image.short_description = u'封面圖片展示'#標題
admin.py
list_display = ('admin_image')
readonly_fields = ('admin_image',) #在編輯頁面顯示