第01 02章节-Python3.5-今日内容概要 1

简介: Django基础(http://www.cnblogs.com/wupeiqi/articles/5237704.html)Django进阶(http://www.

Django基础(http://www.cnblogs.com/wupeiqi/articles/5237704.html)

Django进阶(http://www.cnblogs.com/wupeiqi/articles/5246483.html)

1. 路由系统, 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

实战:
a.
url(r'^detail-(\d+)-(\d+).html', views.detail),
def func(request,nid, uid):
    pass

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

b.
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)
def func(request, nid,uid):
    pass

def func(request, **kwargs):
    kwargs = {'nid': 1,  'uid': 3}

def func(request, *args, **kwargs):
    args = (2, 9)

4. name(作用:根据此名称生成自己想要的URL)
对URL路由关系进行命名,以后可以根据此名称生成自己想要的URL
url(r'^asdfasdfasdf/', views.index, name='i1'),
url(r'^yug/(\d+)/(\d+)/', views.index, name='i2'),
url(r'^buy/(?P<pid>\d+)/(?P<pid>\d+)/', views.index, name='i3'),

def func(request, *args,**kwargs):
  from django.urls import reverse
  
  url1 = reverse('i1')  # asdfasdfasdf/
  url1 = reverse('i2', args=(1,2))  # yug/1/2
  url1 = reverse('i2', kwargs={'pid':1,'nid':9})  # yug/1/9

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



模板语言:
{% url "indexx" %}
{% url "indexx" 3 %}

# 注意:
  # 当前的URL
  request.path_info


2.视图

 request.GET
 request.POST
 request.FILES
# checkbox等多选的内容
request.POST.getlist()

# 上传文件,form标签要做特殊设置
obj.request..FILES.get('fff')
obj.name
f = open(obj.name, mode='wb')
for item in obj.chunks():
  f.write(item)
f.close()

4. FBV & CBV

function base view
url.py
  index -> 函数名
view.py
  def 函数(request):
    ...
===>
/index/ -> 函数名
/index/ -> 类
===>

建议:两者都用


3.模板

4.ORM操作

select * from tb where id >1
# 对应关系
models.tb.objects.filters(id__gt=1)
models.tb.objects.filters(id=1)
models.tb.objects.filters(id__lt=1)

1.Django请求生命周期

1.Django请求生命周期
-> URL对应关系 (匹配) -> 视图函数 -> 返回用户字符串
-> URL对应关系 (匹配) -> 视图函数 -> 打开一个HTML文件,读取内容

2. 创建django project
django-admin startproject mysite
'''
mysite
  mysite
    - 配置文件
    - url.py
    - settings.py
cd  mysite
python manage.py startapp cmdb
mysite
  mysite
    - 配置文件
    - url.py
    - settings.py
  cmdb
    - views.py
    - admin.py
    - models.py  # 创建数据库表

3,配置
模板路径
静态文件路径
# CSRF
4.编写程序
a.url.py
/index/  ->  func
b.views.py
def func(request):
  # 包含所有的请求数据
  ---
  return HttpResponse('字符串')
  return render(request,'index.html',{''})
  return redirect('URL')
c.模板语言
  return render (request, 'index.html', {'li': [11,22,33]})
  {% for item in %}
    <h1>{{ item }}</h1>
  {% endfor %}

**********索引 ************
<h2> {{ item.0 }} </h2>


GET:

  • 获取数据

POST:

  • 提交数据
目录
相关文章
|
机器学习/深度学习 算法 Python
python机器学习之基于内容的推荐算法(附源码)
python机器学习之基于内容的推荐算法(附源码)
1099 1
python机器学习之基于内容的推荐算法(附源码)
|
Linux Shell 数据安全/隐私保护
python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理。在写脚本时,放到后台运行,想知道执行情况,会通过邮件、SMS(短信)、飞信、微信等方式通知管理员,用的最多的是邮件。在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调用运营商邮箱服务器
165 0
python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
|
索引 Python
Python丨学习内容小结
Python丨学习内容小结
126 0
Python丨学习内容小结
|
数据库 Python
Python 查找两个大文件中不同内容
Python 查找两个大文件中不同内容
|
搜索推荐 Python
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
151 0
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
|
Python
Python:使用readability-lxml 提取网页标题和主体内容
Python:使用readability-lxml 提取网页标题和主体内容
192 0
|
XML jenkins 持续交付
python提取xml指定内容
python提取xml指定内容
283 0
python提取xml指定内容
|
JavaScript 前端开发 Java
JavaScript、PHP、Python、Java内容比较和地址比较
JavaScript、PHP、Python、Java内容比较和地址比较
111 0
JavaScript、PHP、Python、Java内容比较和地址比较
|
前端开发 Python
Python编程:几个基于Django的CMS内容管理系统
Python编程:几个基于Django的CMS内容管理系统
604 0
Python编程:几个基于Django的CMS内容管理系统
|
Python
Python 自写函数内容实现大小写转换(含详细注释解析)
Python 自写函数内容实现大小写转换(含详细注释解析)
402 0
Python 自写函数内容实现大小写转换(含详细注释解析)