zoukankan      html  css  js  c++  java
  • 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')

    未完待续.....

  • 相关阅读:
    squid开多端口代理的心得
    用ssh跑pppd(最简单的linuxvpn)
    Asterisk1.2编译与安装
    E1 CE1 PRI BRI T1 的区别
    asterisk卡常见问题(收集整理)
    CCProxy+Eborder开透明代理详细设置(附图文)
    iptables+NAT+squid 透明代理上网实现方案
    asterisk积累命令
    MySQL Cluster的常见问题
    如何配置Silverlight4开发环境
  • 原文地址:https://www.cnblogs.com/Andy963/p/5423932.html
Copyright © 2011-2022 走看看