您的位置:首页 > 编程语言 > Go语言

Django功能模块的单独使用

2014-01-25 20:36 225 查看
http://blog.csdn.net/drgnn/article/details/7930664

Django是一个不错的基于Python的Web框架,但它的很多东西不太方便分离出来,用到别的地方,或者使用别的相应的模块替换,这是Django的缺点之一。但我们不可能每次要使用Django中的哪怕一个小小的功能模块也要创建一个完整的Django工程吧?其实,很多功能或模块,在不脱离Django的情况下,还是可以在一定程序上单独使用的。(注意:我们这里说的是单独使用,不是说分离或剥离使用,我们不对Django源码作任何改动)
1、单独使用邮件模块

[python] view
plaincopy

#!/usr/bin/python  

#-*- coding: utf-8 -*-  

  

from django.conf import settings  

settings.configure(  

    EMAIL_HOST = 'smtp.somesite.com',  

    EMAIL_PORT = '25',  

    EMAIL_HOST_USER = 'someone@somesite.com',  

    EMAIL_HOST_PASSWORD = '123456'  

)  

  

from django.core.mail import send_mail  

send_mail('Subject', 'Message', 'someone@somesite.com', ['another@anothersite.com'],  

    fail_silently = False)  

2、单独使用ORM

[python] view
plaincopy

#!/usr/bin/python  

#-*- coding: utf-8 -*-  

  

from django.conf import settings  

settings.configure(  

    DATABASES = {  

        'default': {  

            'ENGINE': 'django.db.backends.sqlite3',  

            'NAME': '/tmp/mydb.db3',  

            'USER': '',  

            'PASSWORD': '',  

            'HOST': '',  

            'PORT': '',  

        }  

    }  

)  

  

from django.db import models  

class MyModel(models.Model):  

    name = models.CharField(max_length = 50)  

    gender = models.BooleanField(default = False)  

    age = models.IntegerField(default = 0)  

      

    def __unicode__(self):  

        return self.name  

  

myModel = MyModel()  

myModel.name = 'Jim Green'  

myModel.gender = True  

myModel.age = 18  

myModel.save();  

3、单独使用模板

[python] view
plaincopy

#!/usr/bin/python  

#-*- coding: utf-8 -*-  

  

from django.conf import settings  

import os.path  

settings.configure(  

    TEMPLATE_LOADERS = (  

        'django.template.loaders.filesystem.Loader',  

    ),  

    TEMPLATE_DIRS = (  

        os.path.dirname(__file__), # 在当前路径搜索模板文件  

    )  

)  

  

from django.template import loader, Context  

t = loader.get_template('demo.tpl') # demo.tpl必须与该代码在同一目录,文件内容见下一段代码  

context_dict = {  

    'name' : 'Jim',  

    'gender' : 'Male',  

    'age' : '18',  

}  

c = Context(context_dict)  

print t.render(c)  

[html] view
plaincopy

<h1>Name: {{ name }}</h1>  

<p>Gender: {{ gender }}</p>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: