Django项目创建

news/2024/10/25 12:39:59/

安装

pip install django

创建项目

首先打开powershell打开项目与创建到的文件夹

django-admin startproject django_demo01
django-admin startproject 项目名

多出了一个django_demo01的文件夹,这就是我们的项目了

打开项目文件夹,发现一个文件和一个文件夹

manage.py和django_demo01

打开django_demo01,发现如下

  • manage.py 一个让你用各种方式管理 Django 项目的命令行工具,不要动
  • init.py 一个空文件,代表这是一个项目
  • settings.py 项目的配置文件,有关于数据库、编码、时区等
  • urls.py 项目的 url路由配置,即url路由与其函数的对应配置
  • wsgi.py :作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
  • asgi.py :作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口

 启动项目

打开命令行

python manage.py runserver
命令后可以添加网址,端口号等参数

访问127.0.0.1:8000,进入一个页面代表项目创建成功。

创建模块

在powershell下输入如下指令

python  manage.py  startapp  模块名

即可新建一个模块,内有如下文件

模块创建好后要注册模块,打开setting.py,找到INSTALLED_APPS,在最后添加模块名即可。我们的模块名叫hello,如下:

创建视图

打开新建的模块,找到views.py文件,新建一个函数

python">from django.http import HttpResponse
def hello_world(request):return HttpResponse("Hello World!")

这样一个视图就完成了 ,访问此函数需要从浏览器访问

编辑路由

打开urls(和setting同级目录),

python">from django.contrib import admin
from django.urls import path, includefrom hello.views import hello_worldurlpatterns = [path('admin/', admin.site.urls),        # 参数1浏览器匹配字符串,参数2调用模块函数path('hello/', hello_world),
]

多级路由

url地址分成不同级别,优点地址目录结构清晰,便于维护 。高内聚低耦合,修改某模块其它模块不会受到影响。

python">from django.contrib import admin
from django.urls import path, include
from hello.views import hello_world, hello_china  # 引入模块函数urlpatterns = [path('admin/', admin.site.urls),        # 参数1浏览器匹配字符串,参数2调用模块函数path('hello/', include("hello.urls")),  # 进入二级导航    hello是模块名
]

进入模块,新建一个urls.py 文件,写法和主项目中相同

在pycharm中一眼就能看出他的访问目录会多出一级 

解析网址中的参数

在配置路由的时候可以有如下写法

python">path('article/<int:month>', article_list, name='article_list'),

 <int:month>就代表了一个int类型的变量,叫month

它对应的视图也应该接收这个变量

python">def article_list(request, month):return HttpResponse(f"article{month}")

 接收get请求中的参数

若发起请求时url中带有参数:url?name=qwe可以有如下方式接收

python">def search(request):name = request.GET.get("name", "")print(name)return HttpResponse("search success")

应用模版文件

可以将一个页面写为模版,如个人信息页,只要将模版和个人信息组合就可以组成一个完整页面了

python">from django.shortcuts import render
def render_str(request):return render(request,"index.html")

这里的index.html是模版文件,render函数的作用就是将模版和数据组合,这个实例中还没有数据

未完,后续移步下篇文章


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

相关文章

Python使用asyncio实现异步操作

Python使用asyncio实现异步操作 1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异步操作的完成2.3 并发执行多个任务2.4 创建并管理任务2.5 处理异常2.6 超时控制 3. 处理复杂的异步 I/O 操作4. 使用 async/await 的性能优势5. 总结 在 Python 中&…

安全见闻(2)——开阔眼界,不做井底之蛙

内容预览 ≧∀≦ゞ 安全见闻二&#xff1a;Web程序构成与潜在漏洞声明导语前端语言及潜在漏洞前端语言前端框架与代码库代码库的概念和用途流行的JavaScript框架常见的代码库 前端潜在漏洞 后端语言及潜在漏洞常见后端语言协议问题后端潜在漏洞 数据库及潜在漏洞数据库分类数据…

使用LangGraph构建多Agent系统架构!

0 前言 Agent是一个使用大语言模型决定应用程序控制流的系统。随着这些系统的开发&#xff0c;它们随时间推移变得复杂&#xff0c;使管理和扩展更困难。如你可能会遇到&#xff1a; Agent拥有太多的工具可供使用&#xff0c;对接下来应该调用哪个工具做出糟糕决策上下文过于…

Scala中抽象类重写

scala中的方法可以是抽象的和非抽象的&#xff0c;同样属性也可以是抽象和非抽象的。抽象方法可以实现&#xff0c;而非抽象方法可以继承或重写。属性中对于抽象成员是必须要实现的&#xff0c;而非抽想成员可以继承或重写。 如果子类中对抽象类中的方法定义不满意&#xff0c…

将 el-date-picker获取的时间数据转换成时间戳

在Vue.js中使用Element UI的el-date-picker组件时&#xff0c;你可以获取用户选择的日期并将其转换为时间戳。el-date-picker通常返回的是一个Date对象或一个格式化后的字符串&#xff08;取决于你如何配置它&#xff09;。下面是一个示例&#xff0c;展示了如何将el-date-pick…

Node.js 入门全攻略:从安装到 Express 框架与数据库操作(含案例详解)

一、引言 Node.js 是一个强大的 JavaScript 运行环境&#xff0c;允许开发者在服务器端使用 JavaScript 进行编程。它具有高并发、高效的特点&#xff0c;广泛应用于 Web 开发、命令行工具等领域。本文将带您深入了解 Node.js 的安装、基本概念、文件操作、数据库操作以及使用…

基于Python+Flask的天气预报数据可视化分析系统(源码+文档)

简介&#xff1a; 本系统是一个集数据收集、处理、分析和可视化于一体的天气预报数据平台。通过Python和Flask框架的结合&#xff0c;我们能够高效地构建出一个用户友好的Web界面&#xff0c;让用户能够轻松访问并理解复杂的天气数据。系统不仅能够实时获取最新的天气信息&…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18目录1. On the Reliability of Large Language Models to Misinformed and Demographically-Informed Prompts2. SafeLLM: Dom…