Django路由工作大致流程
客户端发送post,get请求,经过web服务器----django中间件-----django路由分配系统,然后根据路由地址,匹配到对应视图函数,在视图函数中,取得数据库中的数据,然后通过render或重定向到对应网页进行渲染,显示。
1.django中使用?传参方式
A.get方式
project的urls.py中: url(r'^index/', include('index.urls'))
project---index下的urls.py中: url(r'^login/$', login_views)
project ---index--login_views: render(request, 'login.html')
project ---index--login_views--login.html: window.location.href = '/index/login?id=1'
然后就可以在login_views中
if 'id' in request.GET:
.....
【在setting.py中你可以设置不自动添加'/',方法:在settings.py结尾加上APPEND_SLASH=False】
【settings.py中默认没有APPEND_SLASH这句话,也就是默认为True】
最终:网页上的路由显示为'/index/login/?id=1'
B.post方式
<form method='post' action='/index/login/' id='form1'>
if 'id' in request.GET:
.......
2. 路由别名使用
url(r'^login/$', login_views, name='login'),
然后就可以写
<form action="{%url 'login'%}" method="post" id="form_1">