python的Django框架入门

news/2024/10/22 10:44:25/

Django是一个开源的Python Web开发框架,遵循MTV(Model-Template-View,模型-模板-视图)架构,是一个全功能的Web框架,Django的模块化设计允许开发者通过添加自定义插件、使用第三方库等方式来增强其功能。

一、安装

使用包管理器安装

pip3 install django -i https://pypi.tuna.tsinghua.edu.cn/simple/

二、创建项目

1、在cmd下创建项目

进入项目目录打开cmd窗口:

django-admin startproject [项目名称]

2、可视化创建项目

使用pycharm创建项目:

文件→新建项目→Django→配置→创建

 

 

 三、项目结构

my_project #项目目录

__init__.py #包的入口文件

settings.py #项目配置文件

urls.py #url访问地址配置文件

wsgi.py #部署配置

asgi.py #部署配置

db.sqlite3 #sqlite数据库

manage.py #命令行管理工具

四、启动服务器

python manage.py runserver [指定端口]

指定ip地址访问

setting文件→设置ALLOWED_HOSTS = ['*']

五、创建模块 

python manage.py startapp [模块名]

比如创建一个名为hello的模块,将会生成以下文件:

 

views是视图文件,Django视图是Web应用的心脏,负责接收用户的请求,处理这些请求,并返回相应的响应。它们可以是简单的函数,也可以是复杂的类。

六、创建页面

比如在视图下有这样一个函数:

python">from django.http import HttpResponse#准备响应数据工具,由django提供,用于向浏览器返回数据def hello_world(request):#业务函数return HttpResponse('hello world')#向浏览器相应数据

我们想要访问到它需要配置URL。配置路径有两种方法,一种是path方法,一种是include方法。path 函数用于将一个URL路径映射到一个视图函数上,include 函数则用于将一组URL模式包含到另一个URL配置中。

path属性

  1. route(必需):
    • 这是一个字符串,表示URL的路径部分。
    • Django会检查请求的URL,如果与这个路径匹配,就会调用相应的视图函数。
    • 路径中可以包含字符串格式的动态部分(例如 <int:id>),这些部分会被提取并作为位置参数或关键字参数传递给视图函数。
  2. view(必需):
    • 这是一个视图函数或视图类的引用。
    • 当URL匹配成功时,Django会调用这个视图函数或类的 as_view() 方法(对于类视图)。
    • 视图函数应该接收一个HttpRequest对象作为第一个参数,并返回一个HttpResponse对象。
  3. kwargs(可选):
    • 这是一个字典,用于向视图函数传递额外的关键字参数。
    • 这些参数在URL匹配成功时会被传递给视图函数,与从URL中提取的动态参数一起。
  4. name(可选):
    • 这是一个字符串,用于给URL命名。
    • 命名URL可以在模板中使用 {% url 'name' %} 标签进行反向解析,也可以在视图中使用 reverse('name') 函数进行反向解析。
    • 命名URL使得URL的维护变得更加容易,因为你可以在项目的任何地方通过名称来引用它,而不需要记住具体的路径。

include函数属性

  1. urlconf_module(必需):这是一个Python模块或模块的路径字符串,该模块应该包含一个名为urlpatterns的列表,其中定义了要包含的URL模式。

  2. namespace(可选):这是一个字符串,用于为包含的URL模式指定一个命名空间。命名空间在反向URL解析时非常有用,因为它可以帮助你区分不同模块中的URL,避免命名冲突。

path案例

python">from django.urls import path
from hello.views import hello_world#引入模块函数urlpatterns = [path('hello/', hello_world),#浏览器访问地址(浏览器访问字符串,调用函数)]

首先需要导入配置路径所需的path方法,在urlpatterns数组中配置,上述案例传了两个参数,一个是route参数,用于访问,第二个是view属性,表示用哪个视图。

include案例

比如在某一模块下,有很多视图需要配置路径,如果单独引入根目录的urls文件比较乱,不容易维护,那么这时我们就可以在该模块下建立一个新的urls文件,命名无所谓,用来与include配合集体引入到根目录的urls文件内。

视图文件:

python">from django.http import HttpResponse#准备响应数据工具,由django提供,用于向浏览器返回数据def hello_world(request):#业务函数return HttpResponse('hello world')#向浏览器相应数据
def hello_china(request):#业务函数return HttpResponse('hello china')

该模块下urls文件: 

python">from django.urls import path
from hello.views import hello_world, hello_chinaurlpatterns = [path('', hello_world,name='hello_world'),#浏览器访问地址(浏览器访问字符串,调用函数)path('china/', hello_china,name='hello_china'),]

根目录下urls文件:

python">from django.urls import path
from django.urls import include
urlpatterns = [path('hello/',include('hello.urls'))
]

将写好的模块下的urls文件写入include函数中,就已经将该模块下的所有配置好路径的文件引入到根目录的urls中了。


http://www.ppmy.cn/news/1541042.html

相关文章

后端接收参数的几种常用注解

目录 一、RequestParam 二、RequestBody 三、PathVariable 四、RequestHeader 五、RequestAttribute 六、RequestPart 七、Valid 一、RequestParam 1.作用 用于将请求中的 查询参数 或 表单参数 绑定到方法的参数上。支持 GET 和 POST 请求。 2.使用方法 GetMappin…

第十四届单片机嵌入式蓝桥杯

一、CubeMx配置 &#xff08;1&#xff09;LED配置 &#xff08;1&#xff09;LED灯里面用到了SN74HC573ADWR锁存器&#xff0c;这个锁存器有一个LE引脚,这个是我们芯片的锁存引脚&#xff08;使能引脚&#xff09;&#xff0c;由PD2这个端口来控制的 &#xff08;2&#xff…

多模态技术的协同表现:从文本生成、语音合成到口型同步综合测评

本文是针对多模态对话系统核心技术栈的使用效果和网络测评整理。 测评内容基于用户体验&#xff0c;侧重于从使用者角度出发&#xff0c;讨论实际操作中的体验感受&#xff0c;如技术的易用性、输出效果如文本的连贯性、语音的自然度、口型同步的准确性等。不涉及具体算法架构…

[C#][winform]基于yolov5的驾驶员抽烟打电话安全带检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面

【重要说明】 该系统以opencvsharp作图像处理,onnxruntime做推理引擎&#xff0c;使用CPU进行推理&#xff0c;适合有显卡或者没有显卡windows x64系统均可&#xff0c;不支持macOS和Linux系统&#xff0c;不支持x86的windows操作系统。由于采用CPU推理&#xff0c;要比GPU慢。…

【ubuntu18.04】ubuntu18.04安装vmware-tools之后立即适应窗口为灰色,窗口不会自适应

问题描述 ubuntu18.04安装vmware-tools 点击查看&#xff0c;看到立即适应窗口为灰色 解决方案 关闭虚拟机 编辑此虚拟机 设置 注意 取消勾选拉伸模式 查看可以看到所有选项可选择 注意&#xff1a; 不要全屏的时候查看&#xff0c;全屏看到的立即适应窗口就会显示…

Android15使用Winscope

使用 Winscope 跟踪窗口转换 | Android Open Source Project (google.cn) Winscope 是一款 Web 工具&#xff0c;可以让用户在动画和转换期间和之后记录、重放和分析多个系统服务的状态。Winscope 将所有相关的系统服务状态记录在一个跟踪文件中。使用带有跟踪文件的 Winscope…

数据分析-31-时间序列分析的卡尔曼滤波器平滑方法

1 卡尔曼滤波器估计系统状态 Kalman Filter(卡尔曼滤波器)算法是一种线性最小方差估计器,用于在存在噪声的情况下对随机过程或系统进行估计。它的基本思想是通过一系列的迭代步骤,不断优化对系统状态的估计。算法主要包含两个步骤:预测和更新。 1.1 卡尔曼滤波器的原理 …

Makefile:1954: recipe for target ‘Modules/_ssl.o‘ failed请安装ssl后,重新安装或编译Python

碰到这个问题&#xff0c;请重新安装openssl&#xff0c;并编译安装Python源码。 安装openssl sudo apt-get update sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libn…