實習第五周

這周主要是官網的相關開發

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 '![](/media/%s)' % self.img
    admin_image.allow_tags = True

admin.py

    list_display = ('admin_image')
image.png

12.上傳圖片預覽

model.py

    def admin_image(self):
        return '![](/media/%s)' % self.img
    admin_image.allow_tags = True
    admin_image.short_description = u'封面圖片展示'#標題

admin.py

    list_display = ('admin_image')
    readonly_fields = ('admin_image',) #在編輯頁面顯示
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容