一、Django简介

1、MVC设计模式(开发模式)

2、MTV设计模式(开发模式)

二:路由配置

三:URL动态传参

1、动态捕获参数

2、动态传递参数

3、对捕获的参数进行类型转换

四:re_path()正则匹配路径

五:视图函数加载模板

六、补充:

1.启动开发服务器:

2、创建应用

七、附录

1、Django/urls.py #主路由

​
from django.contrib import admin
from django.urls import path,include
​
urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/',include('myapp.urls')),
    path('myapp2/',include('myapp2.urls'))
]

2、Django/myapp/urls.py #子路由

from django.urls import path, re_path
from myapp.views import *
urlpatterns = [
    path('hello/',hello),
    path('book/<author>/<book_name>/',show_book),#捕获参数
    path('add/<int:a>/<int:b>/',add),   #int:对捕获的参数转换
    re_path(r'welcome/',welcome),
    re_path(r'time/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/',show_date)
]

3、Django/myapp/urls.py #子路由

from django.urls import path
​
from myapp2.views import *
​
urlpatterns = [
    path('gologin/', go_login),
    path('login/',login),
]

4、Django/myapp/view.py #视图函数

from django.http import HttpResponse
from django.shortcuts import render
​
# Create your views here.
def hello(request):
    return HttpResponse("<h3 style='color:red'>hello,欢迎学习</h3>")
​
def show_book(request,author,book_name):
    info = "<h3><span style='color:blue'>" + author +"</span>写了一本名为<span style='color:red'>" +book_name +"</span>的书</h3>"
    return HttpResponse(info)
def add(resquest,a,b):
    result = a + b
    return HttpResponse("相加结果是:"+str(result))
def welcome(request):
    return HttpResponse("<h3>北京欢迎你</h3>")
def show_date(request,year,month,day):
    return HttpResponse("<h3>接收的年份是:"+year+";月份是:"+month+",日期是:"+day+"</h3>")

5、Django/myapp2/view.py #视图函数

from django.shortcuts import render
​
def go_login(request):
    return render(request,'login.html')#加载模板
def login(request):
    loginname = request.POST["loginname"]#接收参数
    loginpwd = request.POST["loginpwd"]
    if loginname == "tom" and loginpwd == "123456":
        return render(request,'success.html',{'username':loginname})  #加载模板
    else:
        return render(request,'login.html',{'msg':"用户名错误,请从新登录"})

6、Django/myapp2/templates/longin.html #视图模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陆页面</title>
</head>
<body>
    <h3 style="color: red">{{msg}}</h3>
    <form action="/mypp2/login/" method="post">
        登录名:<input type="text" name="loginname"/><br/>
        登陆密码:<input type="password" name="loginpwd"/><br/>
        <input type="submit" value="登录"/>
    </form>
</body>
</html>

7、Django/myapp2/templates/success.html #视图模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功登录</title>
</head>
<body>
恭喜{{username}},登陆成功!
</body>
</html>

 

10-04 21:19