python web编程之django

今天学习了python网络编程框架django,感觉还是比较符合逻辑与展示分离的思想的,至于是不是mvc就不细究了,只需要知道在这里称之为MTV(model,Template,View)就行了

首先一步是下载与安装,我的python是3.6的,选用的django是1.8的,虽然截至我写下这些句子的时候已经有了2.0版本,但是传说中的那种python setup.py install 的方式在这儿居然行不通了,因为少了个module,没辙儿,就装了1.8咯,反正下载后解压缩到指定文件夹后使用python setup.py install 是毫无问题的,并且将python目录下的Scripts添加到环境变量后运行django-admin startproject 和django-admin startapp 是正常的,后面的什么路由,模板也都是阔以的,下面重点说下models部分

django默认的使用sqlite数据库,settings.py的配置如下(差不多个意思,配置的形式最重要):

  “DATABASE”:{

    "ENGINE":"django.db.backends.sqlite",#指定使用的数据库引擎包,类似与java中的数据库驱动java-mysql-connector的东西

    “NAME”:os.path.join(BASE_DIR,"db.sqlite3") #由于sqlite是文件数据库,这里指定了数据库的绝对路径,BASE_DIR在项目创建时就在settings.py中了

  }

接下来就是模型部分了,创建模型后再数据库中的名称是应用名加模型名,例如你有一个应用名为demo,一个模型叫Person,则创建的数据表就是demo_person表了

from django.db import models;

class Person(models.Model):

  username=models.CharField(max_length=20);

  password=models.CharField(max_length=20);

这里一个简单的模型就创建好了,要在数据库中形成数据表还需要以下步骤:

python manage.py makemigrations

python manage.py migrate;

至此就成功的在db.sqlite中创建了一个名为demo_person的表了;

django支持好几种类型的数据库,出sqlite外,还尝试了mysql,大致路径与上述一致,配置如下:

“DATABASE“:{

  "ENGINE":"django.db.backends,mysql",

  "NAME":"db”,#这里需要指定数据库的名称

  “USER”:"root",#数据库服务器的用户名

  “PASSWORD":"huang",#对应用户的密码

  ”HOST":"localhost",#服务器主机的名称,我这儿就设定为本机了

  “PORT":3306" #我没有改过端口,故还是默认的3306段端口

}

网络上不少的介绍说到要安装mysqldb这个包,但是安装这个包的前提是大伙使用的python版本是2.x的,3.x版本的已经不支持这个包了,取而代之的是名为pymysql的包,所以这里需要换成pymysql这个东东,只需要在项目的__init__.py中添加以下:

import pymysql;

pymysqi.install_as_MySqldb();

然后运行就可以了,以上留作我个人学习的记录,晚安!

原文地址:https://www.cnblogs.com/hwang126/p/8424860.html