您的位置:首页 > 编程语言 > Go语言

第一章:Django开发中url配置及获取参数

2017-07-21 17:46 483 查看

一、关于关键词参数与可变参数的认识

1、
python
代码中经常看到
**kwargs
这个就表示关键字参数

关键词参数赋值的时候是比如(
name=xx
)

2、
python
代码中经常看到
*args
这个就是可变参数

二、
django
的项目架构



1、组件
app
有些语言也叫模块,比如(新闻,博客,论坛),只是个人习惯叫组件

2、一个
django
项目是由多个组件组装而成(累积而成)

三、常用的命令

1、创建项目(
django-admin startproject 项目名称
)

2、创建一个组件(
python manage.py startapp 组件名称
)

3、运行项目(
python manage.py runserver
)

四、关于
URL
的认识

schema://host[:port#]/path/…/[?querystring][#anchor]

1、
schema
指定使用的协议(例如:
http
或者
https
)

2、
host
指域名或者
ip
地址

3、
port
指端口号

4、
path
资源路径

5、
querystring
发送给
http
服务器的数据

6、
anchor
锚点

五、项目开发中配置
URL

1、在主的
urls.py
文件中配置
include
引入组件(
App
)组件内的
urls.py


from django.conf.urls import url,include
urlpatterns = [
url(r'^$', views.index),
url(r'^blog/', include("blog.urls")),
url(r'^article/', include("article.urls")),
]


2、在各个组件(
App
)中定义视图

from django.conf.urls import url
import views
urlpatterns = [
url(r'^$', views.index),
url(r'^info/$', views.info),
]


3、关于配置
URL
正则的规则

1、主
URL
开始地方不要加
/


2、主
URL
后面地方要加
/


3、组件(
App
)的
URL
前面不要加
/


4、主
URL
后面不要加
$


5、组件(
App
)后面要加
$


六、关于获取
URL
参数

由于
Django
URL
中不分
get
还是
post
请求的,所有没有
query
参数,全是
path
参数

1、在
urls.py
中写上使用关键字参数

from django.conf.urls import url
import views
urlpatterns = [
url(r'^$', views.index),
# 说明
# 1.用/()/包括
# 2.?P<参数>\d+
url(r'^info/(?P<blog_id>\d+)/$', views.info),
]


2、在视图函数中接收参数

def info(request,blog_id):
print blog_id
return HttpResponse(u"我是个人中心")


3、一般会在视图函数中默认一个值

def info(request,blog_id='0'):
print blog_id
return HttpResponse(u"我是个人中心")


4、多个参数的
urls.py
情况

from django.conf.urls import url
import views
urlpatterns = [
url(r'^$', views.index),
url(r'^info/(?P<blog_id>\d+)/$', views.info),
url(r'^info/(?P<blog_id>\d+)/(?P<comment_id>\d+)/$', views.comment),
]


5、多个参数的视图类

def comment(request, blog_id='0', comment_id='0'):
print blog_id, comment_id
return HttpResponse(u'我是评论')


6、页面跳转中配置参数参考模板

七、在
urls.py
中定义
name
的作用

1、在视图类中做重定向

from django.conf.urls import url
import views
urlpatterns = [
url(r'^$', views.index,name='blog'),
url(r'^info/(?P<blog_id>\d+)/$', views.info,name='blog_info'),
url(r'^info/(?P<blog_id>\d+)/(?P<comment_id>\d+)/$', views.comment,name='blog_comment'),
]


from django.shortcuts import reverse
from django.http import HttpResponse,HttpResponseRedirect
def info(request, blog_id):
print blog_id
return HttpResponseRedirect(reverse('blog'))


2、在页面中做页面跳转参考模板
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django url python