Django 笔记

命令行创建项目

django-admin startproject [项目名称]

进入项目路径,创建app

python manage.py startapp [app名称]

运行项目命令:

python manage.py runserver
python manage.py runserver [指定端口号]

URL传参的两种方式:

方式一:在url.py 里面直接定义要调用的方法

def aa(requesst):
    return HttpResponse('aa')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',aa), #‘’表示直接使用。
    path('idis',res_this_id),
    path('idname/<int:id_name>',res_this_id2)
]

方式二:在其他views.py界面写入,然后调用。

①views.py 代码,调用时直接加后缀参数

def res_this_id(request):
    id = request.GET.get('id')
    return HttpResponse('返回id是{}'.format(id))

调用时可以直接使用? 添加后缀参数。

②views.py 代码,设置后缀的类型,不对时直接报错。 path('idname/<int:id_name>',res_this_id2)

设置必须是int类型的参数。

from django.shortcuts import render,HttpResponse
def res_this_id2(request,id_name):
    # id = request.GET.get('id')
    return HttpResponse('返回id是{}'.format(id_name))

后边跟的类型可以统计为:

str:  默认的转换器,非空字符串类型。但是不能包含斜杠。

int:匹配0或者任意的正数的整形。

slug: 由英文的横杠- 或者下划线_ 拼接数字和字母而成的字符串

uuid:匹配uuid字符串。

path:匹配非空的英文字符串,可以包含斜杠/

路由模块化

在我们的项目中,不可能只有一个app,如果把所有的app的views中的视图都放在urls.py中进行映射,肯定会让代码显得非常乱。因此django给我们提供了一个方法,可以在app内部包含自己的url匹配规则,而在项目的urls.py中再统一包含这个app的urls。使用这个技术需要借助include函数。

一开始的url 使用include 引入movies模块的方法:

from django.contrib import admin
from django.urls import path,include
from book.views import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('movies/',include("movies.urls")),
]

movies 模块创建一个urls :

from django.urls import path
from  . import views

urlpatterns = [
    path('set_name/<str:name>',views.get_name),
]

使用时直接模块名称后接上使用的方法名称:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值