《Django 实战揭秘:从项目搭建到多页面开发的超详细指南》一

引言

在当今数字化的时代,Web 开发的浪潮正汹涌澎湃,而 Django 作为 Python 世界里一款强大且高效的 Web 框架,无疑是众多开发者的心头好。它凭借着简洁的代码风格、丰富的内置功能和高效的开发效率,让开发者能够轻松应对各种复杂的 Web 开发任务。

你是否曾经渴望搭建一个属于自己的 Web 应用,却被繁琐的项目搭建和页面开发过程弄得晕头转向?又或者你已经对 Django 有了一些初步的了解,但在实际操作中却总是遇到各种问题,不知道如何将想法变成现实?别担心,今天这篇博客将为你揭开 Django 开发的神秘面纱,带你从项目的安装与创建开始,一步一步深入了解项目架构、App 的创建与使用,最终实现多页面应用的开发。无论你是 Web 开发的新手小白,还是想要提升技能的进阶开发者,相信这篇文章都能为你带来满满的干货和实用的技巧。让我们一起开启这段精彩的 Django 开发之旅吧!

Django

1.初识Django:

2.安装Django:

pip install django
​
django-admin.exe  【工具、创建django项目的文件和文件夹】

第三方模块

3.创建项目:

见文章:VScode上的Vue+Django(Python)-CSDN博客

创建步骤:

4.开始使用项目:

4.1了解项目架构中各文件用处:

Security_System_project
    Security_System_project
    > _pycache
    _init _. py
    asgi.py【创建网络请求,{不用动}】
    settings.py 【项目的配置文件,{经常操作文件}】
    urls.py【URL和Python函数的对应关系,{经常操作文件}】
    wsgi.py【创建网络请求,{不用动}】
 db.sqlite3
 manage.py【项目管理:启动项目、创建app、数据管理{无需修改,不用动,经常用}】

settings.py:数据库连接操作等等。

4.2App

大功能拆分成为多个小的app

项目:
    -app 用户管理{存储表结构、存储函数、css}
    -app 订单管理{存储表结构、存储函数、css}
    -app API管理{存储表结构、存储函数、css}
    。。。。
    注意:开发比较简洁,用不到多app,一般情况,项目下创建1个app。
怎样创建app?

通过manage.py创建

在Windows系统中使用命令:

tree /f //用于以树的形式展示:目录及文件
tree    //只展示目录
E:.
│  db.sqlite3
│  manage.py
│
├─app_security
│  │  admin.py      【固定不动】django提供的默认admin的后台管理
│  │  apps.py       【固定不动】app启动类
│  │  models.py     【重要】对数据库操作
│  │  tests.py      【固定不动】单元测试
│  │  views.py      【重要:编写对应网址地址所对应的视图函数】对应url.py
│  │  __init__.py
│  │
│  └─migrations     【固定不动】数据库变更记录
│          __init__.py
│
└─Security_System_project
    │  asgi.py
    │  settings.py
    │  urls.py      【URL-》函数】
    │  wsgi.py
    │  __init__.py
    │
    └─__pycache__
            settings.cpython-39.pyc
            urls.cpython-39.pyc
            wsgi.cpython-39.pyc
            __init__.cpython-39.pyc
​

4.3快速上手

首先得注册app:而这个操作如下所示:

参考上图:

  1. 需要再setting.py文件中的INSTALLED_APPS中注册实际创建的app对应的里面的class类

  2. 编写URL和view视图函数之间的关系【urls.py】

  3. 视图函数【views.py】:默认为空

4.4启动项目

使用命令:

python .\manage.py runserver

初次运行时出现以下错误:

就运行:

python manage.py migrate

然后再次运行第一条命令就可以成功了

示例:

首先我们要在setting.py文件中注册应用类:

然后在views.py文件中写一个视图函数:

def index(Request):
    return HttpResponse("你好,欢迎使用!")

接着在urls.py文件中引入相应路径的视图函数:

urlpatterns = [
    path("admin/", admin.site.urls),
    path("index/", index, name="index"),
]

最后运行命令:

python .\manage.py runserver

结果如图所示:

因为还未做路由,所以不能自动跳转页面需要我们在网址中手动添加

结果如图:

至此我们已经能简单创建一个页面应用啦

提问:
from app_demo.views import index 
所有的视图函数我都这样引入?会不会使得代码过于冗杂了?

这里提供两种方法:

  1. 批量导入

    如果你在 urls.py 中需要引入多个视图函数,可以一次性导入多个:

    from app_demo.views import index, another_view, yet_another_view
    ​
    urlpatterns = [
        path("index/", index, name="index"),
        path("another/", another_view, name="another"),
        path("yet_another/", yet_another_view, name="yet_another"),
    ]
  2. 模块化导入

    如果你的视图函数很多,可以考虑将它们分组到不同的模块中,然后分别导入:

    1. app_demo 应用中创建一个 views 包(目录),并在其中创建多个模块,例如 home_views.pyadmin_views.py 等。

    2. urls.py 中分别导入这些模块中的视图函数:

    from app_demo.views.home_views import index
    from app_demo.views.admin_views import admin_dashboard
    ​
    urlpatterns = [
        path("index/", index, name="index"),
        path("admin/dashboard/", admin_dashboard, name="admin_dashboard"),
    ]
    Demo_project/
    ├── manage.py
    ├── app_demo/
    │   ├── __init__.py
    │   ├── admin.py
    │   ├── apps.py
    │   ├── migrations/
    │   ├── models.py
    │   ├── tests.py
    │   ├── views/  # 新创建的包(目录)
    │   │   ├── __init__.py
    │   │   ├── home_views.py  # 例如按功能拆分的视图模块文件
    │   │   └── other_views.py 
    │   └── views.py  # 原视图文件,也可按需保留或迁移内容
    └── Demo_project/
        ├── __init__.py
        ├── settings.py 
        └── urls.py 
多个页面:
# views.py
from django.shortcuts import render,HttpResponse
​
# Create your views here.
def index(Request):
    return HttpResponse("你好,欢迎使用!")
​
def user_list(Request):
    return HttpResponse("用户列表")
​
def user_register(Request):
    return HttpResponse("用户注册")
    
    
# urls.py
from django.contrib import admin
from django.urls import path
​
from app_demo.views import index,user_list
​
urlpatterns = [
    path("admin/", admin.site.urls),
    path("index/", index, name="index"),
    path("user/user_list", user_list, name="user_list"),
]
​

通常都是先写# views.py中的页面函数,然后在在urls.py文件中引入路径

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值