django 笔记3
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的更多相关文章
- Web框架——Django笔记
Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序 ...
- Django笔记 —— Admin(Django站点管理界面)
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- Django笔记 —— 模型
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- Django笔记 —— MySQL安装
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- Django笔记 —— 模板
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- django笔记三之admin的管理
django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...
- django笔记二之数据库
django笔记二之数据库 [同步数据库之前的操作] yum install MySQL-python.x86_64 -y 2)开启数据库服务并创建表 创建数据库设置 为utf8: create da ...
- django笔记-模型数据模板呈现过程记录(多对多关系)
首先,推荐一个网址:http://www.tuicool.com/articles/BfqYz2F,因为这里的比我的要有条理,更有利于各位的理解. 以下仅为为个人一次不完整的笔记: 环境:ubuntu ...
- django笔记1
最近在博客园看来越来越多的关于python的文章,我看到时感觉特别的好,因为我也是一个特别喜欢python这门语言,喜欢python的简洁.干净,简洁而不失强大. 最近在学习django的Model模 ...
- Django 笔记分享
Django是一个基于MVC构造的框架.但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model).模板(Template)和视图(Views), ...
随机推荐
- thymeleaf 常用标签
1.th:field th:field="*{user.sex}" 此标签会自动填充数据,比如用户的性别 user.sex 如果不为空,则会自动勾选上 2.th:each=&qu ...
- 2019年北航OO第一单元(表达式求导任务)总结
2019面向对象课设第一单元总结 一.三次作业总结 1. 第一次作业 1.1 需求分析 第一次作业的需求是完成简单多项式导函数的求解,表达式中每一项均为简单的常数乘以幂函数形式,优化目标为最短输出.为 ...
- The Karplus-Strong Algorithm
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/48730857 Karplus-Stro ...
- Step by Step Do IOS Swift CoreData Simple Demo
简单介绍 这篇文章记录了在 IOS 中使用 Swift 操作 CoreData 的一些基础性内容,因为缺乏文档,基本上都是自行实验的结果.错漏不可避免,还请谅解. 部分内容借鉴了 Tim Roadle ...
- 工作笔记5.JAVA图片验证码
本文主要内容为:利用JAVA图片制作验证码. 设计思路: 1.拷贝AuthImageServlet.class图片验证码 2.配置web.xml 3.JSP中,调用封装好的AuthImageServl ...
- Woody的Python学习笔记4
Python模块 Import语句 想要使用Python源文件,仅仅须要在还有一个源文件中运行import语句.语法例如以下: import module1 当解释器遇到import语句.假设模块在当 ...
- leetcode——Insertion Sort List 对链表进行插入排序(AC)
Sort a linked list using insertion sort. class Solution { public: ListNode *insertionSortList(ListNo ...
- 安卓操作sqlite3,增删改查
创建 layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- rest_framework 权限功能
权限: 问题:不用视图不用权限可以访问 基本使用 写上一个权限类 创建utils 中 permission.py文件 class SvipPermisson(object): message = &q ...
- BZOJ 1711 网络流
思路: 神建图 源->饮料 边权为1 牛拆点 两个点之间的边权为1 饮料->左牛 边权为1 右牛->食品 边权为1 食品->汇边权为1 //By SiriusRen #incl ...