二、再识Django

PyCharm创建Django项目

Django的安装及测试

进入虚拟环境或PyCharm提供的terminal终端,输入如下命令即可安装最新Django版本。当然你还可以通过==指定所需的Django版本。

cmd 复制代码
pip install django
pip install django==3.1.6 # 安装指定版本

进入命令终端使用如下命令启动测试服务器:

cmd 复制代码
python manage.py runserver

此时打开浏览器访问http://127.0.0.1:8000/,你将看到熟悉的火箭标志页面,如下所示:

创建新的app

使用python manage.py startapp daihao命令创建一个名为daihao的应用,然后把其加入项目配置文件settings.py的INSTALLED_APPS中去, 如下所示。这是你会发现djangoProject目录下多了daihao文件夹,专门存放与应用相关的文件比如视图views.py和urls.py。

然后编辑djangoProject/urls.py, 把daihao应用的urls也加入到项目的urls中去,如下所示:


编写视图函数和 URL 配置

编辑daihao/views.py, 新增一个名为index的视图函数。每个视图函数的第一个默认参数都必需是request, 它是一个全局变量。Django把每个用户请求封装成了request对象,它包含里当前请求的所有信息,比如请求路径request.path, 当前用户request.user以及用户通过POST提交的数据request.POST。

index视图函数通过调用HttpReponse方法打印输出当前的请求路径request.path。

python 复制代码
# daihao/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("请求路径:{}" .format(request.path))

新建daihao/urls.py, 添加如下代码,其作用是将用户请求的地址与实际需要执行的视图函数相关联。下例中当用户在浏览器中访问index/时,Django将解析url,并调用执行views.py中的index视图函数。

python 复制代码
# daihao/urls.py

from django.urls import path
from . import views

app_name = "daihao"
urlpatterns = [
    path('index/', views.index, name='index'),
]

测试访问,使用python manage.py runserver命令重新启动测试服务器,并访问http://127.0.0.1:8000/index/

相关推荐
特立独行的猫A9 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持10 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang10 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰11 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc12 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
羲云网络15 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
橙橙笔记19 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事19 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
天天被压力21 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力21 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python