今天学习了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();
然后运行就可以了,以上留作我个人学习的记录,晚安!