DJango小计算一188金宝搏,python之路笔记day1九

               def detail(request, *args,**kwargs):

        INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app01',
        ]
    c. 执行命令
        python manage.py  makemigrations
        python manage.py  migrate

               from django.conf.urls import url,include

视图

               from django.conf.urls import url,include

url1 = reverse('i1')                              # asdfasdfasdf/

               'django.contrib.auth',

 

模板路径   /templates/   记着加s

ORM操作

 

路由系统,URL
    1、url(r'^index/', views.index),    
       url(r'^home/', views.Home.as_view()),
    2、url(r'^detail-(\d+).html', views.detail),  
    3、url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html',
views.detail)
       
       PS:
            def detail(request, *args,**kwargs):
                pass
    
       实战:
           
                url(r'^detail-(\d+)-(\d+).html', views.detail),

               'django.contrib.sessions',

 

 

views.py
            
            def func(request):
                # 包含所有的请求数据
                ...
                return HttpResponse('字符串')
                return render(request, 'index.html', {''})
                retrun redirect('URL')

五、路由系统,URL

模板语言
            return render(request, 'index.html', {'li': [11,22,33]})
            
            {% for item in li %}
                <h1>{{item}}</h1>
            {% endfor %}

               primary_key        -> 主键

根据类对数据库表中的数据进行各种操作
    
        一对多:
        
            a. 外检
            b.
                外键字段_id
            c.
                models.tb.object.create(name='root',
user_group_id=1)
                
            d.
                
                userlist = models.tb.object.all()
                for row in userlist:
                    row.id
                    row.user_group_id
                    row.user_group.caption

          ]

        # app01_userinfo
        class UserInfo(models.Model):
            # id列,自增,主键
            # 用户名列,字符串类型,指定长度
            username = models.CharField(max_length=32)
            password = models.CharField(max_length=64)
        
    b. 注册APP

 

url(r'^asdfasdfasdf/', views.index, name='i1'),

 

url3 = reverse('i3', kwargs={'pid': 1, "nid": 9}) # buy/1/9/

                                                                      
                         (完整的一个Django请求生命周期)

xxx.html
            
            {% url "i1" %}               # asdfasdfasdf/
            {% url "i2" 1 2 %}           # yug/1/2/
            {% url "i3" pid=1 nid=9 %}   # buy/1/9/

                   

注:

     

# 当前的URL
            request.path_info

          ====》

url(r'^buy/(?P<pid>\d+)/(?P<nid>\d+)/', views.index,
name='i3'),

                    def func(request, *args, **kwargs):

url(r'^yug/(\d+)/(\d+)/', views.index, name='i2'),

               verbose_name      -> django admin显示字段中文

from django.urls import reverse

               b.

字段的参数:
            null               -> db是否可以为空
            default            -> 默认值
            primary_key        -> 主键
            db_column          -> 列名
            db_index           -> 索引
            unique               -> 唯一索引
            unique_for_date    ->
            unique_for_month
            unique_for_year
            auto_now           -> 创建时,自动生成时间
            auto_now_add       -> 更新时,自动更新为当前时间
            
                # obj =
UserGroup.objects.filter(id=1).update(caption='CEO')
                # obj = UserGroup.objects.filter(id=1).first()
                # obj.caption = "CEO"
                # obj.save()
                
            choices              -> django
admin中显示下拉框,避免连表查询
            blank             -> django admin是否可以为空
            verbose_name      -> django admin显示字段中文
            editable          -> django admin是否可以被编辑
            error_messages    -> 错误信息欠
            help_text         -> django admin提示
            validators          -> django form
,自定义错误信息(欠)
            
            
            创建 Django 用户:python manage.py createsuperuser

 188金宝搏 1

 

 

 

               error_messages    -> 错误信息欠

Django默认使用MySQLdb模块链接MySQL
      
 主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
            import pymysql
            pymysql.install_as_MySQLdb()

6、默认值(欠)

url2 = reverse('i2', args=(1,2,))                 # yug/1/2/

 

select * from tb where id > 1
    # 对应关系
    models.tb.objects.filter(id__gt=1)
    models.tb.objects.filter(id=1)
    models.tb.objects.filter(id__lt=1)
    
    创建类
    
    a. 先写类
        from django.db import models

                    ...

根据名称生成url

               import pymysql

1、获取用户请求数据
        request.GET
        request.POST
        request.FILES
        PS:
            GET:获取数据                
            POST:提交数据
            
    2、checkbox等多选的内容
        request.POST.getlist()
    3、上传文件
        # 上传文件,form标签做特殊设置
        obj = request.FILES.get('fafafa')
        obj.name
        f = open(obj.name, mode='wb')
        for item in obj.chunks():
            f.write(item)
        f.close()

               {% endfor %}%

                    # obj.save()

 

         

                         row.user_group_id

               ]

          request.GET

          # 上传文件,form标签做特殊设置

          mysite

          class UserInfo(models.Model):

    

 

          # app下的models.py

 

 

               ]

 

               <h2> {{item.0 }} </h2>

          python manage.py  makemigrations

               editable          true or false  -> django
admin是否可以被编辑

 

 

                    def func(request, *args, **kwargs):

2). 根据类对数据库表中的数据进行各种操作

               'django.contrib.messages',

          python manage.py  migrate

 

 

               choices                 -> django
admin中显示下拉框,避免连表查询

                         row.id

        function base view

 

          for item in obj.chunks():

 

 

               null               -> db是否可以为空

 5、装饰器

               a.

                    def funct(request, **kwargs):

                    def func(request, nid, uid):

def func(request):

               POST:提交数据

               字符串类型

 

 

对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端

               default            -> 默认值

 

 

               blank             -> django admin是否可以为空

from cmdb import viewsurlpatterns = [ url(r'^login/$', views.login), url(r'^index/$', views.index), url(r'^lists/$', views.lists), url(r'^add/$', views.add),]

 

 

  python manage.py startapp cmdb  #开始一个app

 

               GET:获取数据                    

          f = open(obj.name, mode='wb')

                    ...

                    url(r'^detail-(\d+)-(\d+).html', views.detail),

                    url(r'^login/', views.login),

def user_list(request,chose_id): return HttpResponse(chose_id)

               'django.contrib.contenttypes',

 4、 name

               from app01 import views

# 对应关系     

          url.py

          python manage.py  makemigrations

                         kwargs = {'nid': 1, 'uid': 3}

      django 支持下边这个方法,自动更新时间

 

   -> URL对应关系(匹配) -> 视图函数 ->
打开一个HTML文件,读取内容

一、Django请求生命周期

                    url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html',
views.detail)

          建议:两者都用

               from django.conf.urls import url,include

                    return render(request, 'index.html', {''})

                    - admin.py

               unique_for_month  ->只对前边的月份做索引

 

            def func(request, *args, **kwargs):

 

          app02/urls.py

 

 

 

python3.5 manage.py runserver  #启动

 

     

七、模板

                           from django.urls import reverse

 

                    # obj =
UserGroup.objects.filter(id=1).update(caption='CEO'),django里不生效

 

a. url.py

          

7、命名空间(欠)

          view.py

 return render(request, 'index.html', {'li': [11,22,33]})

               pymysql.install_as_MySQLdb()

                    def func(request, nid, uid):

     

 

 

     

 

                    retrun redirect('URL’)

               unique_for_date     ->只对前边的时间做索引

 

               auto_now           -> 创建时,自动生成时间

 ***********  索引用点 **********

188金宝搏,              

                    - models.py # 创建数据库表

 

               'django.contrib.admin',

          /index/ -> 类

                    - settings.py

 

                    for row in userlist:

 

九、实例

                    # obj = UserGroup.objects.filter(id=1).first()

 

 

               自增(primary_key=True)

 

               unique                  -> 唯一索引

          obj = request.FILES.get('fafafa')

               'django.contrib.staticfiles',

                    url(r'^cmdb/', include("app01.urls")),

 

 

c. 模板语言

 

          python manage.py  migrate

 

               urlpatterns = [

                         pass

详见Pycharm

   -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串

               'app01',

                    - url.py

 

               db_column          -> 列名

 

 

5、多级路由

 

1). 根据类自动创建数据库表

 

2、checkbox等多选的内容

          # app01_UserInfo

      request.POST.getlist()

                    pass

        PS:

               {% url "i1" %}               # asdfasdfasdf/

     

      url(r'^home/', views.Home.as_view()),

          project/urls.py

                         pass

          

3、url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html',
views.detail)

 

               mysite

          INSTALLED_APPS = [

               help_text         -> django admin提示

               from django.contrib import admin

               b.

                           url3 = reverse('i3', kwargs={'pid': 1, "nid":
9}) # buy/1/9/

 

               {% url "i3" pid=1 nid=9 %}   # buy/1/9/

models.tb.objects.filter(id__gt=1)     

               # id列,自增,主键

 

二、创建django projcet

               # 用户名列,字符串类型,指定长度

          /index/ -> 函数名

     

               def 函数(request):

select * from tb where id > 1     

                    - 配置文件

188金宝搏 2

四、编写程序

django-admin startproject mysite  #开始项目

 

 

               d.

# CSRF

               /index/    ->   func

          字段的参数:

               {% url "i2" 1 2 %}           # yug/1/2/

 

对URL路由关系进行命名, ***** 以后可以根据此名称生成自己想要的URL
*****

          mysite

          一对多:

          url(r'^yug/(\d+)/(\d+)/', views.index, name='i2'),

          Django默认使用MySQLdb模块链接MySQL

2、url(r'^detail-(\d+).html', views.detail),  

               c.

                    外键字段_id

 三、配置

                    - 配置文件

                         args = (2,9)

          ====》

 

                    <h1>{{item}}</h1>

                                                                      
                     (Django的路由系统)

               db_index           -> 索引

 

               cmdb

               时间

models.tb.objects.filter(id__lt=1)

               username = models.CharField(max_length=32)

          PS:

                    url(r'^monitor/', include("app02.urls")),

          字段:

          欠

 

          

               mysite

 

 

b. views.py

 

          ..

六、视图

          from django.UserInfo import models

d. ********** 注意 ***********

          

     

 

 

                   userlist = models.tb.object.all()

 

注:

                    return HttpResponse('字符串')

实战连接数据库:        

 

               validators            -> django form
,自定义错误信息(欠)

         

          request.FILES

 

               from app02 import views

               from django.contrib import admin

 

 

               password = models.CharField(max_length=64)

  cd mysite

          主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:

          f.close()

     

                    url(r'^login/', views.login),

八、ORM操作

               auto_now_add       -> 更新时,自动更新为当前时间

 

          request.POST

          obj.name

1、url(r'^index/', views.index),    

 

 

               二进制

c. 执行命令,数据库表就创建成功了

          url(r'^asdfasdfasdf/', views.index, name='i1'),

 

               a. 外键

1、获取用户请求数据

静态文件路径  /static/

                         args = (2,9)

4、FBV & CBV

               # 当前的URL

               index -> 函数名

               {% for item in li %}

                           url1 =
reverse('i1')                              # asdfasdfasdf/

          app01/urls.py

 

               f.write(item)

                    # obj.caption = "CEO"

               from django.contrib import admin

 

        实战:

 

                    - settings.py

                    models.tb.object.create(name='root',
user_group_id=1)

 xxx.html

                    def func(request, *args):

               unique_for_year     ->只对前边的年份做索引

                    - url.py

     

          url(r'^buy/(?P<pid>\d+)/(?P<nid>\d+)/',
views.index, name='i3'),

models.tb.objects.filter(id=1)    

                    # 包含所有的请求数据

  b. 注册APP

 

 

               urlpatterns = [

                    - views.py

               ]

                           url2 = reverse('i2',
args=(1,2,))                 # yug/1/2/

 

                         row.use_group_caption

               request.path_info

               数字

               创建 Django 用户:python manage.py createsuperuser

 

a. 创建类,先写类

                         args = (2,9)

               urlpatterns = [

3、上传文件

 

 

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。