Python 开发-Web Django 框架基础

本文详细介绍了Django框架的基础知识,包括如何创建web工程、定义应用和URL路由,以及如何使用Django操作sqlite数据库。通过ORM(对象关系映射)实现模型与数据库表的关联,并展示了如何在Django Admin中管理数据。同时,文章讨论了路由子表的概念,以及在项目和应用中如何划分路由。此外,还涵盖了创建超级用户和使用Django内置的admin页面进行数据管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django 基础

Django

Django 是python的一个三方库,也是一个 web 框架(产品级,MTV模型),用于搭建web后端。

创建工程
django-admin startproject myweb
创建应用
python.exe .\manage.py startapp helloapp
运行工程
python.exe .\manage.py runserver

创建一个 web 框架工程

django-admin startproject myweb

请添加图片描述

框架目录结构

D:.
└─myweb     --外层目录
    │  manage.py        --django工程交互命令工具
    │
    └─myweb             --工程目录
            settings.py    --部署和配置的配置文件
            urls.py          --里面存放了一张表,URL路由声明文件
            wsgi.py         --基于WSGI 的web服务器配置文件
            __init__.py     --定义包的空文件

关于 WSGI web服务网关接口
https://www.python.org/dev/peps/pep-3333/

调试运行web框架

python.exe .\manage.py runserver

请添加图片描述

请添加图片描述

创建一个具体的应用

python.exe .\manage.py startapp helloapp

url 路由

views 通常写处理http请求的代码
编辑 views.py 文件

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

def hello(request):
    return HttpResponse("hello django")

修改 路由 文件,添加路由信息

from django.contrib import admin
from django.urls import path
from helloapp.views import hello

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', hello),
]

请添加图片描述

路由子表

项目下的是主路由表,而应用下的一般是开发者创建的是次路由表,主路由表代表当前项目的路由,次路由表一般是当前项目的路由。

假设有一个连接
除了全部写在主路由表中以外,我们可以分开项目跟应用之间的路由表关系,让站点结构更清晰。

hello 可以写在主路由表中,index可以写在次路由表中
http://127.0.0.1:8000/hello/index/

主路由表

修改主路由表

引入 include

请添加图片描述

下面的 path('hello/', include('helloapp.urls')), 表示凡是以hello 这个路径访问的,就使用 次路由表中的路由信息

次路由表

在应用文件下新增一个路由文件
urls.py
写上这个路由表中的相关信息,访问 index 由 newfun 这个函数去处理

from django.urls import path
from helloapp.views import newfun,newfun2,newfun3

urlpatterns = [
    path('index/', newfun),
    path('index2/',newfun2),
    path('index3/',newfun3),
]

请添加图片描述

请添加图片描述

Django操作 sqlite 数据库

sqlite 没有 独立的数据库服务进程,数据操作被做成库直接供应用程序调用。 Django中可以直接使用,无须先搭建数据服务。

请添加图片描述

项目在创建的时会创建一个 db.sqlite3 文件,这是个空文件,需要我们自行创建相关库表

python manage.py migrate

通过数据库工具连接

请添加图片描述

ORM(object relational mapping) 概念

在django 中 ,数据库操作基本是通过 Model 类型的对象进行的,它不使用sql语句,而是使用类方法处理。

定义 数据库表

数据库表的定义,一般放 应用的 models.py 里面

关于字段类型可以参考官方文档:
https://docs.djangoproject.com/en/2.0/ref/models/fields/#model-field-types

models.py
编写字段

from django.db import models

# Create your models here.
from django.db import models
from django.contrib import admin
# Create your models here.

class Customer(models.Model):
	name = models.CharField(max_length=200)
	phone = models.CharField(max_length=200)
	address = models.CharField(max_length=200)

admin.site.register(Customer) # 添加到 django admin 管理

在项目的配置文件中添加配置,表示我们有这个么个应用
settings.py
请添加图片描述

然后执行

python.exe .\manage.py makemigrations common

生成应用下 migrations\0001_initial.py 文件

python.exe .\manage.py migrate

写入数据库

请添加图片描述

在django下的每一个表都需要有一个主键,如果没有配置,django会自动生成一个为 id 的主键

请添加图片描述

如果修改已经生成的表文件,需要重新运行 makemigrations,及导入数据库 migrate

Django Admin 管理数据

通过 createsuperuser 创建用户

python.exe .\manage.py createsuperuser

通过django 默认的 admin页面登录

如果没有在在创建表的时候有引入 admin 配置管理
admin.site.register(Customer)
需要在应用表中的 admin.py 配置管理

from django.contrib import admin

from .models import Customer

admin.site.register(Customer)

请添加图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_abcdef

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值