zoukankan      html  css  js  c++  java
  • Django第四天

    1.orm创建表,新增字段删除,修改字段,不能创建数据库

       字段属性phone=models.Char File(max_length=64,null=True)

    2.数据的增删改查

      增(1):User.object.create(address=' ')

          (2):实例化产生一个user对象,user对象的save方法

      删User.objests.filter(id=1,name='lqz').first().delete()

      删User.objests.filter(id=1 ,name='lqz').delete()

      改User.objects.filter(id=1 name='lqz').update()

          user=User.object.filter(name='lqz')

         user.save()

    3 前后台交互
      -id=1&name='lqz'&
      <form action="/updateuser/?id={{ user.id }}" method="post">
       <p><input type="hidden" name="id" value="{{ user.id }}"></p>
       <p>用户名: <input type="text" name="name" value="{{ user.name }}"></p>
       <p>密码: <input type="text" name="password" value="{{ user.password }}"></p>
       <p>地址: <input type="text" name="addr" value="{{ user.address }}"></p>
       <input type="submit" value="提交">
      </form>

    4 一对多,多对多

      publish_id

      publish=models.ForeignKey(to='Publish',to_fileld-'id')

      book.publish_id

      book.publish

      多对多:(自动创建第三张表)

      authors = models.ManyToManyField(to='Author')

    路由层:

     1 简单配置
      -第一个参数是正则表达式(如果要精准匹配:'^publish/$')
      -第二个参数是视图函数(不要加括号)
      -url(r'^admin/', admin.site.urls),
     2 无名分组
      -按位置传参
      -分组之后,会把分组出来的数据,当位置参数,传到视图函数,所以,视图函数需要定义形参
      -url(r'^publish/([0-9]{4})/([0-9]{2})$', views.publish),
      -def publish(request,*args):   视图函数可以这样接收
     3 有名分组
      -按关键字传参
      -有名分组之后,会把分组出来的数据,当关键字参数,传到视图函数,所以,视图函数需要定义形参,形参名字要跟分组的名字对应,与顺序无关
      -url(r'^publish/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})/$', views.publish),
      -def publish(request, mounth,year):
      *****有名分组和无名分组,不要混用
     4 反向解析
      -先命一个名:
       -1 无参数:url(r'^publishadd133/$', views.publishadd,name='ddd'),
       -2 无名分组:url(r'^publishadd/([0-9]{4})/([0-9]{2})/$', views.publishadd,name='ddd'),
       -3 有名分组:url(r'^publishadd/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})/$', views.publishadd,name='ddd'),
      -在模板层:
       -1 无参数:{% url 'ddd' %}
       -2 无名分组的:{% url 'ddd' 2018 12 %}
       -3 有名分组:{% url 'ddd' 2018 12 %}  还可以 {% url 'ddd' year=2018 mounth=12 %}
       
      -在视图层:
       from django.shortcuts import reverse
       在视图函数里:
       1 无参数:url=reverse('ddd')
       1 无名分组:url=reverse('ddd',args=(2018,12,))
       1 有名分组:url=reverse('ddd',args=(2018,12,)) 还可以 url=reverse('ddd',kwargs={'year':2018,'mounth':12})
     5 路由分发 
      1 在不同的app里创建urls.py
      2 在总路由
       -from django.conf.urls import include
       -url(r'^blog/',include('blog.urls')),
       -url(r'^app01/',include('app01.urls')),
      3 在不同的app的urls里配置路由关系 
      ***重点***总路由,不能加结束符$
     6 名称空间
      -url(r'^blog/',include('blog.urls',namespace='blog')),
      -子路由:url(r'^publish/$', views.publish,name='test'),
      -反向解析:
       -视图层:url = reverse('blog:test')
       -模板层:{% url 'app01:test'%}
      ***一般不要用***
       子路由:url(r'^publish/$', views.publish,name='app01_test'),
       
     7 伪静态
      -路由:url(r'^book/(?P<id>d+.html)',views.book),
      -访问:http://127.0.0.1:8000/book/4.html

  • 相关阅读:
    李晋的YIM每日签名
    C语言的基础知识
    数据库的分页方法总结
    C#操作XML的代码
    ASP文件操作的类
    spring配置文件的基本语法
    预测球队比赛成绩
    文件的读写和我的第一个网页
    python中关于turtle库的学习笔记
    python科学计算与可视化
  • 原文地址:https://www.cnblogs.com/AllenZhou/p/9926302.html
Copyright © 2011-2022 走看看