Django项目创建

安装

复制代码
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, include

from hello.views import hello_world

urlpatterns = [
    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函数的作用就是将模版和数据组合,这个实例中还没有数据

未完,后续移步下篇文章

相关推荐
Mk598788 分钟前
让 Agent 长出双手:一个注解搞定工具调用,AgentScope-Java @Tool 实战
后端
小溪学编程9 分钟前
将 Bean 放入 Spring 容器中的方式有哪些?
java·后端·spring
Mk5987816 分钟前
一个 Markdown 文件就是一个员工 —— AgentScope-Java 多智能体编排实战(核心篇)
后端
imDwAaY33 分钟前
微信运动每天晚上 10 点推送排行榜,技术上到底有多难?
后端
ServBay35 分钟前
PHP 突爆 9.2 分高危漏洞,你升级了吗?
后端·php
学Linux的语莫1 小时前
python中类的常见写法
开发语言·python·状态模式
武子康1 小时前
撤回发生在重建途中,旧索引还能切回来吗
人工智能·后端·agent
码事漫谈1 小时前
双十一,我为什么想买一台编码显示器
后端
垆边人似月.2 小时前
Python中如何使用get函数实现频次查询
服务器·前端·python
AI 编程助手GPT2 小时前
GPT 脚本别只发一个文件:用 uv 把依赖和锁一起交付
人工智能·python·gpt·uv·依赖管理