Django学习笔记2

来源:互联网 发布:淘宝电子书 编辑:程序博客网 时间:2024/05/12 20:26

今天完成了html模板的学习,开始数据层模型的学习。这里就把前面的总结一下。

database的连接:

在项目settings.py中设置,DATABASES = {  'default':{,,,         }   },default是必需的,然后设置选项里有ENGINE选择数据库类型,mysql,sqlite等。'NAME'选择数据库名,'USER'用户名,'PASSWORD'密码,'HOST'主机,一般127.0.0.1,PORT,mysql默认3306,这个查一下/etc下面的my.cnf就好。

然后验证

python manange.py shell

from mysql.db import connection

cursor = connection.cursor()

没错误信息就好,以上都是从Djangobook2.0里扒来的,明天有空看看。

到这里,mark下,然后明天再写。


Django的数据库连接

1、设置settings.py中有DATEBASE选项

2、models.py,每一个表都是一个类,挺方便的,具体声明方法还要看手册。

3、数据库的管理使用Django提供的objects管理器,有全选all(),筛选filter(),获取对象get(),更新update(),删除delete(),排序order_by(),逆排加负号,比如:Table.objects.order_by('-name'),还有很多方法,后期会用到的。

4、需要在settings.py  INSTALLED_APPS中加入models模块。

5、只有在终端中运行:python manage.py validate 检查model文件是否有语法或逻辑错误; python manage.py sqlall modelsname, 生成sql语句; 接下来真正向数据库中插入数据:python manage.py syncdb 同步数据。

------------------------------------------------------

Django提供的网站管理工具admin,新建项目,在settings.py和urls.py中都会有admin字段,保持不被注释就好,其中有django.contrib.admin/auth/contenttypes/sessions/messages/staticfiles(INSTALLED_APPS中),在MIDDLEWARE_CLASSES中有django.contrib.sessions.middleware.SessionMiddleware等。。。

然后urls.py自然要有关联(r'^admin/',include(admin.site.urls))。期间要设置super账户,如果没有,需要运行python manage.py createsuperuser

将自建模块加入admin中需要在app下admin.py中,首先把要加入的import进来,然后admin.site.register(className)


加一条:Django的project结构,一个项目文件夹就相当于配置了一个系统,其中可以添加App来添加功能,Django的url设计很实用,比如‘/time/’这样就可以指向" localhost:8080/time/",这些都是在urls.py中设计的。


Django发邮件:https://docs.djangoproject.com/en/dev/topics/email/

Django使用django.core.mail.send_mail函数来发送e-mail,

 send_mail(                request.POST['subject'],                request.POST['message'],                request.POST.get('email', 'noreply@example.com'),                ['siteowner@example.com'],            )
,而且需要对setting.py进行配置,如下: EMAIL_HOST= 'smtp.126.com' EMAIL_PORT= 25 EMAIL_HOST_USER = '@126.com'#你的邮箱 EMAIL_HOST_PASSWORD = '' #你邮箱的密码 #我试过用不存在的邮箱,不行 EMAIL_USE_TLS = True SERVER_EMAIL = EMAIL_HOST_USER DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 在调用send_mail()时,用全参数,默认是用你setting.py中配置的主机邮箱发送邮件。

0 0