django 备忘录

============关于编码==============

 

ASCII: 7位一字符,最多编码128个字符;扩充的ASCII 8位一字符,最多表示256个字符

UNICODE: 2个或者4个字节一字符,可以编码世界所有字符

UTF: unicode transfer format Unicode 转换格式,表示如何将unicode编码成适合编码格式如:utf-8

(unicode --> str)

解码:str --> unicode

编码:unicode -- >str

文件头coding:utf-8 作用:python 脚本默认的编码格式是ascii ,当出现超出256字符以外的字符,如中文的时候

需要指定非ascii意外的合适编码格式

 

查看编码:

>>> a = {"name":u"中国"}

>>>print a

{'name': u'\u4e2d\u56fd'}

 

>>>a = {"name":"中国"}

>>>print a

{'name': '\xe4\xb8\xad\xe5\x9b\xbd'}

 

开发中,尽量避免直接unicode,应该将其装化成对应的编码,再使用.

 

============我的djaogo雏形============

eclipse开发环境:

项目结果:

db_django

----src

--------db_django(项目名称)

--------locale

--------templates

--------__init__.py

--------manage.py

--------settings.py

--------test.py

--------urls.py

--------------dataimport(应用程序名称)

--------------__init__.py

--------------models.py(实体类)

--------------tests.py

--------------views.py(视图类,业务逻辑处理)

--------------admin.py(配置后台管理)

--------------dataimport.py(其他文件)

1.

项目属性中-->PyDev - PYTHONPATH --> Source Folders --> Add  Source Folder

默认有个/db_django/src,现添加: /db_django/src/project_name

这样在admin.py中: from DataImport.models import DataConfig,MappingHost,MappingTable不报错

 

2.

models:

 

#coding:utf-8

from django.utils.translation import ugettext_lazy as _

from django.db import models

 

class DataConfig(models.Model):

    key_name = models.CharField(_(u"Key"),max_length=100)

    host = models.CharField(_(u"Host"),max_length=100)

    database = models.CharField(_(u"Database"),max_length=100)

    user = models.CharField(_(u"User Name"),max_length=100)

    password = models.CharField(_(u"Password"),max_length=100)

    status = models.BooleanField()

 

    def __str__(self):

        return self.key_name

 

    class Meta:

        verbose_name = _(u"连接配置")

        verbose_name_plural = _(u"连接配置")

 

class MappingHost(models.Model):

    key_name = models.CharField(_(u"主键"),max_length=100)

    source_host = models.CharField(_(u"源IP地址"),max_length=100)

    source_database = models.CharField(_(u"源数据库"),max_length=100)

    dest_host = models.CharField("目标IP地址",max_length=100)

    dest_database = models.CharField("目标数据库",max_length=100)

    status = models.BooleanField()

 

    def __str__(self):

        return self.key_name

 

    class Meta:

        verbose_name = _(u"数据库配置")

        verbose_name_plural = _(u"数据库配置")

 

class MappingTable(models.Model):

    key_name =  models.CharField("主键",max_length=100)

    source_table = models.CharField("源表名",max_length=100)

    dest_table = models.CharField("目标表名",max_length=100)

    sc_dc = models.TextField("目标字段名:源字段名",max_length=1000)

    models.ForeignKey(MappingHost)

    status = models.BooleanField()

 

    def __str__(self):

        return self.key_name

 

    class Meta:

        verbose_name = _(u"表字段配置")

        verbose_name_plural = _(u"表字段配置")

3.

admin.py

 

#coding=UTF-8

from DataImport.models import DataConfig,MappingHost,MappingTable

from django.utils.translation import ugettext_lazy as _

from django.contrib import admin

 

def make_2(modeladmin, request, queryset):

    queryset.update(status=False)

make_2.short_description = _(u"禁用")

 

def make_1(modeladmin, request, queryset):

    queryset.update(status=True)

make_1.short_description = _(u"启用")

 

class DataConfigAdmin(admin.ModelAdmin):

    list_display = ('key_name','host','database','status')

    actions = [make_1,make_2]

 

class MappingHostAdmin(admin.ModelAdmin):

    list_display = ('key_name','source_host','source_database','dest_host','dest_database','status')

    actions = [make_1,make_2]

 

class MappingTableAdmin(admin.ModelAdmin):

    list_display = ('key_name','source_table','dest_table','status','sc_dc')

    actions = [make_1,make_2]

 

admin.site.register(DataConfig,DataConfigAdmin)

admin.site.register(MappingHost,MappingHostAdmin)

admin.site.register(MappingTable,MappingTableAdmin)

 

4.

settings.py

TEMPLATE_DIRS = (

    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".

    # Always use forward slashes, even on Windows.

    # Don't forget to use absolute paths, not relative paths.

    os.path.join(PROJECT_PATH,'templates'),

)

 

 

============多国语言==============

 

环境变量:

D:\Program Files\Python25; 不解释

D:\Program Files\Python25\Scripts;  django-admin.py等位于里面

D:\Program Files\gettext-utils\bin; 多语言

 

D:\workspace\db_django\src\db_django>django-admin.py makemessages -a 制作

D:\workspace\db_django\src\db_django>django-admin.py compilemessages 编译

本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值