python -- django

urls.py

  网址入口,每个请求的url都在这里进行匹配,分发

views.py

  从urls.py分发过来的请求在这里处理,或者渲染templates中网页后,将结果显示到网页,显示给用户

models.py

  与数据库相关的操作在这里完成,django根据model创建对应方数据库,数据表

forms.py

  表单,用户在浏览器上的数据提交,对数据进行验证等。

templates(文件夹)

  模板,一般存放Html网页,views.py中函数会进行渲染模板,得到网页

admin.py

  后台,管理后台的功能需要在这里regisger

settings.py

  django的配置文件。

常用命令:

1.创建一个项目

django-admin.py startproject projectName 

2.新建一个app

django-admin.py startapp appName

创建一个项目后,会有一个manage.py此时也可以用python manage.py startapp appName命令

3.同步数据库

老版本的django: python manage.py syncdb

新版本:python manage.py makemigrations + python manage.py migrate

4.启动开发服务器

python manage.py runserver [port]  port 端口是可选参数,默认8000端口

5.水帘数据库

python manage.py flush,默认会询问,选择yes后会将数据全部清空,此时表格为空

6.设置超级管理员

python manage.py createsuperuser

7.数据导入,导出

python manage.py loaddata appName appName.json

python manage.py dumpdata appName > appName.json

8.django项目环境shell

python manage.py shell

9.数据库shell

python manage.py dbshell

python manage.py shell

创建对象的方法:

前提已经在models中创建好了model

1.Person.objects.create(name='name',age=1)

2.p=Person(name='name',age=2)

p.save()

3.p=Person(name='name')

p.age = 3

p.save()

4.Person.objects.get_or_create(name='name',age=4)

注:第四种方法,是先查询,如果已经存在,就不创建,如果不存在,就创建,返回值是一个元组(Person.objects,True),第一个为对象,第二个为True或者False

获取对象方法:

1.Person.objects.all() 获取所有对象

2.Person.objects.all()[:5]  这里的切片操作从所有对象中取出5个,但不支持负索引

3.Person.objects.get(name=name)  get用来获取一个对象,如果要按条件获取,那得使用filter

4.Person.objects.filter(name='abc')等于Person.objects.filter(name__exact='abc')严格等于‘abc’的人

5.Person.objects.filter(name__iexact='abc')

加上i之后是不区分大小写的

6.Person.objects.filter(name__contains='abc')

名之中包含‘abc’的人

7.Person.objects.filter(name__icontains='abc')

包含‘abc’,且不区分大小写

8.Person.objects.filter(name__regex='^abc')

正则表达式查询

9.Person.objects.filter(name__iregex='^abc')

正则表达式查询且不区分大小写

10.Person.objects.eclude(name__contains='a')

排除名字中包含‘a’的人

11.Person.objects.filter(name__contains='abc').exclude('a')

包含abc,然后去掉含a的,相当于Person.objects.filter(name__contains='bc')

未完待续.....

原文地址:https://www.cnblogs.com/Andy963/p/5423932.html