Django框架基础介绍

Django 框架设计

Django 与 Flask

Flask设计采用MVC设计模式
module view controller
Django设计采用MTV设计模式
module template view
两者都是当前比较流行的web框架,设计模式没啥区别,但是Django的封装更加完整,
可以轻松开发出企业级网站项目

Django的项目结构具体介绍

##命令行创建项目 Django-admin startproject Django_project
Django_project:
	----manage.py   一个命令行工具,可以使用户使用多种方式对Django项目进行交互
	----Django_project
	    ----__init__.py  一个空文件,python的包
	    ----settings.py   项目的配置文件
	    ----urls.py      项目的URL声明
	    ----wsgi.py      项目与WSGI兼容的WEB服务器入口

基本操作

配置数据库

更改默认数据库(默认数据库是SQlite)
在settings.py文件中,通过DATABASES选项进行数据库配置
配置MySQL
    ----python3安装pymysql
    ----__init__.py 文件中添加
        import pymysql
        pymysql.install_as_MySQLdb()
    ----setting.py
        DATABASES={
        'default':'django.db.backends.mysql',
        'NAME':"数据库名称",
        'USER':"用户名",
        'PASSWORD':"密码",
        'HOST':'IP',
        'POST':'3306'
        }

创建应用

##命令行创建项目 python manage.py startapp login
login
    ----admin.py   站点
    ----model.py   模型
    ----view.py    视图
##激活应用
    在settings.py中文件中,将login应用加入到:
    INSTALLED_APPS [login]

模型

定义模型

   一个数据表格对应一个模型
   注意:不需要定义主键,主键是自动添加的

生成数据表格

   生成迁移文件 ## python manage.py makemigrations 
   执行迁移     ## python manage.py migrate 执行sql语句创建数据表

测试数据操作

   进入到python shell环境 ## python manage.py shell

关联对象集合

   进入到python shell环境 ## python manage.py shell
   对象名.关联的类名的小写_set.all()
   grade1.student_set.all()
   grade1.student_set.creat(字段=) #直接添加一条数据

启动服务器

   ## python manage.py runserver ip:port
   ip可以不写默认是本机IP
   端口默认是8000

Admin站点管理

   内容发布:负责添加修改维护数据
   在settings.py 文件中的INSTALLED_APPS 配置默认已经添加完成
   创建管理员前操作:
   python manage.py makemigrations
   python manage.py migrate
   创建管理员用户:执行python manage.py createsuperuser
   依次输入用户名和密码
   汉化:
   LANGUAGE_CODE = 'zh-Hans'
   TIME_ZONE = 'Asia/Shanghai'

注册

   #admin.py
   from .models import Grades,Students
   admin.site.register(Grades)
   admin.site.register(Students)

显示

   class GrandsAdmin(admin.ModelAdmin):
    #自定义管理页面
    #列表页
    list_display = ['pk','gname','gdate','ggirlnum','gboynum','isDelete']
    list_filter = ['gname']
    search_fields = ['gname']
    list_per_page = 5
    #添加和修改
    #fields =['ggirlnum','gboynum','isDelete','gdate']
    #分组不能同时使用
    fieldsets = [
        ('num',{'fields':['ggirlnum','gboynum']}),
    ('base',{'fields':['gname','gdate','isDelete']}),
    ]
    class StudentAdmin(admin.ModelAdmin):
    def gender(self):
        if self.sgender == True:
            return "男"
        else:
            return "女"

    gender.short_description = "性别"
    def name(self):
        return self.sname
    name.short_description = "姓名"
    def age(self):
        return self.sage
    age.short_description = "年龄"
    def isidDelete(self):
        if self.idDelete ==True:
            return "已删除"
        else:
            return "使用中"

    isidDelete.short_description = "是否删除"
    list_display = ['pk',name, age, gender,
                    'scontend','sgrade',
                    isidDelete]
    #list_filter = ['sname']
    #search_fields = ['sname']
    list_per_page = 5
    #fields = ['sname', 'sgender', 'sage', 'idDelete']

    #执行动作位置调整
    actions_on_bottom = True
    actions_on_top = False
内容概要:本文介绍了奕斯伟科技集团基于RISC-V架构开发的EAM2011芯片及其应用研究。EAM2011是一款高性能实时控制芯片,支持160MHz主频和AI算法,符合汽车电子AEC-Q100 Grade 2和ASIL-B安全标准。文章详细描述了芯片的关键特性、配套软件开发套件(SDK)和集成开发环境(IDE),以及基于该芯片的ESWINEBP3901开发板的硬件资源和接口配置。文中提供了详细的代码示例,涵盖时钟配置、GPIO控制、ADC采样、CAN通信、PWM输出及RTOS任务创建等功能实现。此外,还介绍了硬件申领流程、技术资料获取渠道及开发建议,帮助开发者高效启动基于EAM2011芯片的开发工作。 适合人群:具备嵌入式系统开发经验的研发人员,特别是对RISC-V架构感兴趣的工程师和技术爱好者。 使用场景及目标:①了解EAM2011芯片的特性和应用场景,如智能汽车、智能家居和工业控制;②掌握基于EAM2011芯片的开发板和芯片的硬件资源和接口配置;③学习如何实现基本的外设驱动,如GPIO、ADC、CAN、PWM等;④通过RTOS任务创建示例,理解多任务处理和实时系统的实现。 其他说明:开发者可以根据实际需求扩展这些基础功能。建议优先掌握《EAM2011参考手册》中的关键外设寄存器配置方法,这对底层驱动开发至关重要。同时,注意硬件申领的时效性和替代方案,确保开发工作的顺利进行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值