django url路由

 1 1创建项目    first_pro
 2 2创建app    app01
 3 做一个登录页面的web项目,浏览器输入一个网址得到一个web页面
 4 
 5 用户:    http:127.0.0.1:8001/login/
 6 
 7 1urls.py
 8 from django.conf.urls import url from django.contrib import admin from app01 import views
 9 
10 urlpatterns = [
11 # url(r'^admin/', admin.site.urls),
12 url(r'^index/', views.index),    #配置路径,r'^/index/',这个前置导航斜杠不需要添加.
13 ]
14 
15 2写逻辑视图
16 from django.shortcuts import render,HttpResponse # Create your views here.
17 
18 def index(request): print(request.method) #'POST' 'GET' if request.method == 'GET':
19 return render(request,'login.html') else:
20 # print(request.GET) print(request.POST)
21 username = request.POST.get('username') password = request.POST.get('password')
22 if username == 'dazhuang' and password == '123': return HttpResponse('登录成功!')
23 else:
24 return HttpResponse('登录失败!')
25 
26 3创建html文件
27 在templates文件夹中创建一个login.html文件
 1 下载:pip install django==1.11.9
 2 
 3 创建项目
 4     django-admin startproject qingqing
 5     cd qingqing 
 6 启动项目:python manage.py runserver 127.0.0.1:8001
 7     cd qingqing 
 8 创建app:python manage.py startapp xiaoqing
 9 
10 需要在项目的配置文件settings.py中添加一个app的配置
11 INSTALL_APPS = [
12     
13     'xiaoqing', app名称
14 ]
15 
16 INSTALLED_APPS = [
17     'django.contrib.admin',
18     'django.contrib.auth',
19     'django.contrib.contenttypes',
20     'django.contrib.sessions',
21     'django.contrib.messages',
22     'django.contrib.staticfiles',
23     # 以下两种写法都可以
24     'app01.apps.App01Config',
25     #'app01',
26 ]

两个框架模式

 1 MVC  
 2     M:models数据库相关
 3     V:views 视图逻辑相关
 4     C:controller控制器 url分发 不同的路径找到不同的视图函数
 5 MTV
 6     M:models数据库相关
 7     T:templates模板 ,HTML文件
 8     V:views 视图逻辑相关
 9     + url控制器 不同的路径找到不同的视图函数
10 MVVM 后面介绍

url配置

 1 urls.py文件中写在urlpatterns = []中
 2 简单的路由
 3     from app01 import views
 4     url(r'^index/',views.index),
 5 无名分组
 6     url(r'^index/(d+)/(d+)/',views.index), --- def index(request,n,m)  位置参数
 7 有名分组
 8     url(r'^index/(?P<year>d+)/(?P<month>d+)/',views.index), -- def index(request,year,month) 关键字参数,参数顺序不要求
 9 
10 
11 url(r'^index/$',views.index),
12 url(r'^index/(?P<num>d+)/,views.index),
13 视图函数参数默认值,
14     def index(request,num='1'):
15         print(num)
原文地址:https://www.cnblogs.com/ch2020/p/13053004.html