FBV
function base view url.py
index -> 函数名
view.py
def 函数(requset):
... CBV
class base view
/index/ -》 函数名
/index/ -> 类 方法
######################################
from django.views import View
class Home(View):
def dispatch(self, request, *args, **kwargs):
#调用父类中的dispatch 此方法可以类比为装饰器
print('before')
result = super(Home,self).dispatch( request, *args, **kwargs)
print('after')
return result def get(self,request):
print(request.method)
return render(request,'home.html') def post(self,request):
print(request.method)
return render(request, 'home.html')
####################################################
请求头
Request URL:http://127.0.0.1:8000/home/?
Request Method:GET
Status Code: OK
Remote Address:127.0.0.1: ############################################
from django.conf.urls import url
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^index/', views.index),
url(r'^login/', views.login),
url(r'^home/', views.Home.as_view())
]
############################################
dispatch()方法 用来反射找到get/post方法 .装饰器 路由系统
########################################
{% for y in user_dict.values %} {% for y in user_dict.keys %} {% for x,y in user_dict.items %}
<li>{{y}}</li>
{% endfor %} python for i in user_dict.keys():
python for i in user_dict.values():
python for i,j in user_dict.items(): 路由系统,URL
、url(r'^index/', views.index), url(r'index/', Views.Home.as_view()), /*from django.views import View*/ 、url(r'^index-(\d+).html', Views.detail), 正则 一类 url对应一个函数 开发了个查看详细页面
def detail(request, nid):
detail_info = USER_DICT[nid]
return render(request,'detail.html', {'detail_info':detail_info}) 、分组 根据?P<nid>
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail), #分组
def detail(request, nid, uid): (#?P<nid>\d+) (?P<uid>\d+) 此时就与nid uid存放位置无关啦
pass
def detail(request, *args, **kwargs): #这就可以表示多个值传递 如果按顺序就放在args 为元组 如果传nid 就放在 kwargs 为字典
return HttpResponse(kwargs['nid']) 实战:
a: url(r'^detail-(\d+)-(\d+).html', views.detail),
def func(request, nid, uid):
pass b: url(r'^detail-(\d+)-(\d+).html', views.detail),
def func(request,*args):
return HttpResponse(args[]) c: url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail),
def func(request, *args,**kwargs):
kwargs = {'nid':, "uid":} 、 name 对URL路由关系进行命名,****** 以后可以根据此名称生成自己想要的URL *****
a: <form action="{% url 'indexx' %}" method="POST">
url(r'^index/', views.index, name='i1')
b: url(r'^cc/(\d+)/(\d+)' , views.index, name='i2'), c: url(r'^dd/(?P<nid>\d+)/(?P<uid>\d+)' , views.index, name='i3'), def func(request, *args, **kwargs):
from django.urls import reverse url1 = reverse('i1') #index/
url2 = reverse('i2', args=(, ,)) #cc//
url3 = reverse('i3', kwargs={"nid":,"uid":,}) dd// 模板语言
xxx.html
{% url "i1" %} #index/
{% url 'i2' %} #cc//
{% url nid= uid= %} #dd// 模板语言:
{% url "indexx" %}
{% url "indexx" %}
注:request.path_info 为当前的url {{ request.path.info }} 、url的分发
一级路径 主目录下 urls.py
from django.contrib import admin
from django.conf.urls import url,include
urlpatterns = [
url(r'^cmdb/', include("app01.urls")),
url(r'^db/', include("app02.urls")),
] 在app01下创建一个urls.py 二级路径
from django.contrib import admin
from django.conf.urls import url,include
from app01 import views urlpatterns = [
url(r'^login/', views.login),
]

django 笔记3的更多相关文章

  1. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  2. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  3. Django笔记 —— 模型

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  4. Django笔记 —— MySQL安装

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  5. Django笔记 —— 模板

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  6. django笔记三之admin的管理

    django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...

  7. django笔记二之数据库

    django笔记二之数据库 [同步数据库之前的操作] yum install MySQL-python.x86_64 -y 2)开启数据库服务并创建表 创建数据库设置 为utf8: create da ...

  8. django笔记-模型数据模板呈现过程记录(多对多关系)

    首先,推荐一个网址:http://www.tuicool.com/articles/BfqYz2F,因为这里的比我的要有条理,更有利于各位的理解. 以下仅为为个人一次不完整的笔记: 环境:ubuntu ...

  9. django笔记1

    最近在博客园看来越来越多的关于python的文章,我看到时感觉特别的好,因为我也是一个特别喜欢python这门语言,喜欢python的简洁.干净,简洁而不失强大. 最近在学习django的Model模 ...

  10. Django 笔记分享

    Django是一个基于MVC构造的框架.但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model).模板(Template)和视图(Views), ...

随机推荐

  1. windows下命令行复制

    在CMD命令提示符窗口中点击鼠标右键,选择“标记”选项,然后按住鼠标左键不动,拖动鼠标标记想要复制的内容.标记完成以后请按键盘上的“回车”键

  2. #error 、 #line 和 #pragma 的使用

    1. #error 的用法 (1)#error 是一种预编译器指示字,用于生成一个编译错误消息 (2)用法:#error message //注意:message 不需要用双引号包围 (3)#erro ...

  3. Informatica环境搭建过程中一些问题-近期项目进了新人,在搭建环境中存在一些问题,之前都处理过一直没有整理,这次接着机会,把这些常见问题处理整理出来

    一.Informatica9.5.1创建资源库出错找不到libpmora8.so 错误如下: Database driver event...Error occurred loading librar ...

  4. Java NIO笔记(一):NIO介绍

    Java NIO即Java Non-blocking IO(Java非堵塞I/O),由于是在Jdk1.4之后添加的一套新的操作I/O工具包,所以通常会被叫做Java New IO.NIO是为提供I/O ...

  5. hadoop-11-ambari-server安装

    hadoop-11-ambari-server安装 #ambari 安装yum install ambari-servercd mysql-5.7.18/cp mysql-connector-java ...

  6. 【HDU-4614】Vases and Flowers(线段树双查询)

    11946317 2014-10-23 09:08:28 Accepted 4614 437MS 2348K rid=11946317" target="_blank" ...

  7. 操作指定文件格式的10个Perl CPAN模块

    在Perl开发中,非常可能会碰到一些不同格式的文件--XML.PDF.CSV及RSS文件等,和一些不同的二进制数据格式.Perl应用程序须要操作这些文件,对它们进行读写. 此时.能够求助于全面Perl ...

  8. 自己封装js组件 - 初级

    2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造...)索性我就 ...

  9. 智课雅思词汇---十、pend是什么意思

    智课雅思词汇---十.pend是什么意思 一.总结 一句话总结:[词根含义]:悬挂,垂;称量;支付 词根:-pend-, -pens- [词根含义]:悬挂,垂;称量;支付 [词根来源]:来源于拉丁语动 ...

  10. [Swift] 随机数 | Random numbers

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...