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), ...
随机推荐
- HDU-2896 病毒侵袭 字符串问题 AC自动机
题目链接:https://cn.vjudge.net/problem/HDU-2896 题意 中文题 给一些关键词和一个字符串,问字符串里包括了那几种关键词 思路 直接套模版 改insert方法,维护 ...
- 紫书 习题8-9 UVa 1613 (dfs染色+图的性质)
这道题一开始我没想什么直接开始染, 但是是for循环一个节点一个节点染, 然后就WA 后了看了https://www.cnblogs.com/jerryRey/p/4702323.html 发现原来还 ...
- hbase报错Could not initialize class org.apache.hadoop.hbase.protobuf.ProtobufUtil
Caused by: java.lang.RuntimeException: java.io.IOException: java.lang.reflect.InvocationTargetExcept ...
- @SpringBootApplication cannot be resolved to a type In STS
@SpringBootApplication cannot be resolved to a type In STS 学习了:https://stackoverflow.com/questions/4 ...
- 批量修改文件的编码格式至UTF-8
批量修改文件的编码格式至UTF-8 学习了: https://jingyan.baidu.com/article/e8cdb32b47a1ea37042bad11.html http://blog.c ...
- Android面试题目整理与解说(一)
这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的添加,假设答案有错误,希望大家能够指正 1.简述Activity的生命周期 当Activity開始启动的时候,首先调用onCre ...
- Android中的消息机制
在分析Android消息机制之前.我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListen ...
- [PHP]怎样在SAE的CodeIgniter项目中隐藏掉index.php
第一步:改动项目根文件夹的config.yaml文件.加入例如以下内容: handle: - rewrite: if(!is_dir() && !is_file() && ...
- [poj 2480] Longge's problem 解题报告 (欧拉函数)
题目链接:http://poj.org/problem?id=2480 题目大意: 题解: 我一直很欣赏数学题完美的复杂度 #include<cstring> #include<al ...
- <Sicily>Fibonacci 2
一.题目描述 In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn-1 + Fn-2 for n ≥ 2. For exampl ...