2019-12-27,基本 Django 項目實做(一)

举报
Mark Chen 发表于 2019/12/27 13:28:41 2019/12/27
【摘要】 根據 Django 官網入門教程的演練。實做上,我們還是會遇到各種不同的意外,有些是操作上的錯誤,有些是工作環境的問題,有些是版本問題。 版本問題包括 Django 本身和作業系統的搭配,還有和其配套使用的其它應用等。 今天是實做某個製造業的一個表單,在現在的應用系統裡,已經導出了 Excel 檔案,如何在 Django 的開發環境裡,先可以在後台看到效果。 開發的重點在今天文稿和 3 和 5..

    根據 Django 官網入門教程的演練。實做上,我們還是會遇到各種不同的意外,有些是操作上的錯誤,有些是工作環境的問題,有些是版本問題。 版本問題包括 Django 本身和作業系統的搭配,還有和其配套使用的其它應用等。 今天是實做某個製造業的一個表單,在現在的應用系統裡,已經導出了 Excel 檔案,如何在 Django 的開發環境裡,先可以在後台看到效果。 開發的重點在今天文稿和 3 和 5,其它的都是框架的設定。

2019-12-27,基本 Django 項目實做(一)

1. 在 Python3.6 以上的虛擬環境,新建一個 Django 3 的項目

  • 參考文檔: https://bbs.huaweicloud.com/blogs/139793

  • 驗証點: https://bbs.huaweicloud.com/blogs/139793


2. 立即migrate 新建超級用戶登入後台

  • 能建超級用戶

  • 超級用戶能登入後台

  • 能加其它用戶


3. 新建 app001

  • 在 mysite/mysite/settings.py 調試

  • 建立數據模型

    from django.db import models
    
    
    
    class Task(models.Model):
        task_id = models.IntegerField(unique=True)
        event_id = models.IntegerField()
        department= models.CharField(max_length=32,default='---')
        work_no = models.IntegerField()
        work_name= models.CharField(max_length=32,default='---')
        status= models.CharField(max_length=32,default='---')
    
        # start_time = models.DateTimeField(blank=True,null=True)
        # end_time = models.DateTimeField(blank=True,null=True)
        description= models.CharField(max_length=100,blank=True,null=True)
        reason= models.CharField(max_length=100,blank=True,null=True)
        improvement= models.CharField(max_length=100,blank=True,null=True)
        deal_type= models.CharField(max_length=32,blank=True,null=True)
    
        def __str__(self):
            return str(self.task_id)

       


4. 安裝 import-export

  • pip install django-import-export

  • 在 mysite/mysite/settings.py 加設定 'import_export',


           


5. 調試  admin/app001


  • 加到 django admin

    from django.contrib import admin
    from import_export import resources
    from import_export.admin import ImportExportModelAdmin
    
    from .models import Task
    
    class TaskResource(resources.ModelResource):
        class Meta:
            model = Task
    
    class TaskAdmin(ImportExportModelAdmin):
        resource_class = TaskResource
        list_display = ('event_id', 'department', 'work_no', 'work_name', 'status','description', 'deal_type')   
        list_filter = ('department', 'work_name', 'status', 'deal_type')
        search_fields = ['description']
    admin.site.register(Task,TaskAdmin)

           

       


6. 手工加入一筆,導出,加數據,再導入


  • 能夠手工加一筆

  • 導出 xlsx 檔案

  • 在上述檔案按格式加上數據

  • 再導入


7. 確認在後台的可操作性


  • 右側可筛选

  • 上方可以查找

  • 下成可以換頁

  • 單筆可以編輯

  • 可以選擇單筆或多筆刪除


           





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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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