001--Django基础(创建Django项目和简单使用)

本文详细介绍了如何使用Django创建项目和子应用,包括设置调试模式、更改语言和时区、创建视图以及定义函数视图。还讲解了如何通过urls.py配置路由,并在postman中进行测试。强调了在开发过程中关闭CSRF防护以方便测试。
摘要由CSDN通过智能技术生成

1.创建一个新的虚拟环境

mkvirtualenv py_django


2.创建Django项目

第一个方法:
django-admin startproject name < name 为项目名>

例:django-admin startproject django_test

第二个方法:

在这里插入图片描述


3.进行项目配置

工程的配置文件是 settings.py

DEBUG  :调试模式,创建工程后初始值为True,即默认工作在调试模式下。


本地语言与时区:
初始化的工程默认语言和时区为英语和UTC标准时区
LANGUAGE_CODE = 'en-us' # 语言:英语
TIME_ZONE = 'UTC' # UTC标准时区
将语言和时区修改为中国大陆信息
LANGUAGE_CODE = 'zh-hans' # 语言:简体中文
TIME_ZONE = 'Asia/Shanghai' # 亚洲上海

在这里插入图片描述


4.创建子应用

python manager.py startapp name < name 为子应用名>

例:python manager.py startapp users

子应用的目的
1) 代码复用(分工,解耦)
2) 功能模块可以在其他的项目中直接复制使用
admin.py 文件跟网站的后台管理站点配置相关。
apps.py 文件用于配置当前子应用的相关信息。
migrations 目录用于存放数据库迁移历史文件。
models.py 文件用户保存数据库模型类。
tests.py 文件用于开发测试用例,编写单元测试。
views.py 文件用于编写Web应用视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kOP3sUwz-1617193049814)(C:\Users\12488\AppData\Roaming\Typora\typora-user-images\image-20210331201028352.png)]

  1. 创建子应用后,需要注册安装,在工程配置里面
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'users.apps.UsersConfig',  #将子应用配置文件里的apps.py 中的Config类添加到INSTALLED_APPS列表中
    ]
    

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210331202029863.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZpYzQzOTk=,size_16,color_FFFFFF,t_70


5.定义函数视图


函数视图定义位置:在子应用的views.py文件中

1. 函数视图它是一个标准的Python函数。
2. 函数视图中,第一个参数必须定义:第一个参数为请求对象,用于接收用户发送的请求报文。
3. 函数视图中,必须返回响应对象:用于构造响应报文,并响应给用户。
4. 说明:
    请求对象:HttpRequest() 对应的对象
    响应对象:HttpResponse() 对应的对象

在这里插入图片描述

import json

from django.http import HttpResponse
# Create your views here.
from django.views import View


class register_view(View):
    """
     用户注册函数视图
     :param request: 请求对象,包含了请求报文信息
     :return: 响应对象,用于构造响应报文,并响应给用户
     """

    def get(self, request):
        return HttpResponse('注册页面')

    def post(self, request):
        return HttpResponse('注册逻辑的实现')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sw3bk8M5-1617193049820)(C:\Users\12488\AppData\Roaming\Typora\typora-user-images\image-20210331201247134.png)]

6. 访问函数视图

使用路由匹配请求地址,每匹配成功一个就执行对应的函数视图逻辑

在子应用中新建一个urls.py文件用于定义该应用的所有路由信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOflK2Nr-1617193049821)(C:\Users\12488\AppData\Roaming\Typora\typora-user-images\image-20210331201652648.png)]

注册子路由

from django.urls import path
from . import views

# urlpatterns是被Django自动识别的路由列表变量:定义该应用的所有路由信息
urlpatterns = [
    # 函数视图路由语法:
    # path('网络地址正则表达式', 函数视图名),
    # 用户注册:http://127.0.0.1:8000/users/register/
    path('users/register/', views.register),
]

在这里插入图片描述


7.注册总路由

总路由说明:
一个子应用对应一个总路由。
总路由中,使用include()来将users子应用里的所有路由都包含进工程总路由中

在这里插入图片描述


8.启动django程序

python manage.py runserver
启动django程序

使用postman进行请求测试: http://127.0.0.1:8000/users/register/

在这里插入图片描述

在这里插入图片描述

发送post请求时需要关闭 'django.middleware.csrf.CsrfViewMiddleware',

Django默认开启了CSRF防护,会对非GET请求(POST, PUT, DELETE)进行CSRF防护验证,
在测试时可以关闭CSRF防护机制

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值