当前位置: 首页 > news >正文

Django基础(二)Django 项目基础操作

一、实验目标

  • 熟悉 Django 基本命令

  • 理解 Django 项目和应用的目录结构

  • 掌握项目初始化、应用创建与注册、项目启动、视图函数编写、路由配置、数据库配置等基础操作


二、Django 项目初始化

  1. 进入虚拟环境

    source venv/bin/activate
    
  2. 创建 Django 项目

    django-admin startproject myweb
    
    • 目录下会出现 venv(虚拟环境)和 myweb(项目主目录)两个文件夹。

  3. 查看项目结构

    tree myweb
    
    • 主要文件说明:

      • manage.py:项目管理入口,常用来执行命令(如启动、迁移等)

      • myweb/:项目核心目录

        • __init__.py:标识为 Python 包

        • settings.py:项目配置(数据库、语言、时区等)

        • urls.py:路由分发

        • wsgi.py:WSGI 部署入口

        • asgi.py:ASGI 部署入口(支持异步)


三、创建与注册应用

  1. 创建应用

    cd myweb
    python manage.py startapp learn
    
    • 应用目录结构(learn/):

      • admin.py:后台管理

      • apps.py:应用配置

      • migrations/:数据库迁移文件

      • models.py:数据模型

      • tests.py:测试代码

      • views.py:视图函数

  2. 注册应用

    • 打开 myweb/settings.py,在 INSTALLED_APPS 列表中添加 'learn',

    • 这样 Django 才会识别并加载该应用


四、项目配置调整

  1. 允许所有主机访问

    • 修改 myweb/settings.py 中的 ALLOWED_HOSTS

      ALLOWED_HOSTS = ["*",]
      
  2. 设置语言和时区

    • 修改 myweb/settings.py

      LANGUAGE_CODE = 'zh-hans'
      TIME_ZONE = 'Asia/Shanghai'
      

五、启动项目

  • 启动开发服务器(默认端口 8000):

    python manage.py runserver
    
  • 指定端口启动:

    python manage.py runserver 0.0.0.0:8080
    
  • 访问页面即可看到 Django 欢迎页


六、编写视图函数与路由配置

  1. 编写视图函数

    • 编辑 learn/views.py,添加如下代码:

      from django.http import HttpResponsedef index(request):return HttpResponse('Hello')
      
  2. 配置路由

    • 编辑 myweb/urls.py,引入视图并添加路由:

      from learn.views import indexurlpatterns = [path('admin/', admin.site.urls),path('', index),  # 主页路由
      ]
      
    • 这样访问主页时会显示 “Hello”


七、数据库配置与初始化

  1. 默认数据库

    • Django 默认使用 Sqlite3,启动项目会自动生成 db.sqlite3 文件

  2. 初始化数据库

    python manage.py makemigrations
    python manage.py migrate
    
    • 生成并应用数据库迁移,创建数据表

  3. 切换到 MySQL 数据库

    • 修改 myweb/settings.pyDATABASES 配置:

      DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'myweb','USER': 'root','PASSWORD': '','HOST': '127.0.0.1','PORT': 3306}
      }
      
    • 启动 MySQL 服务并创建数据库:

      sudo service mysql start
      mysql -uroot -e 'CREATE SCHEMA myweb CHARSET = UTF8'
      
    • 再次执行迁移命令,完成数据表创建

    • mysql -uroot
      show databases;可以看到创建的数据库


八、总结

  • 本节内容涵盖了 Django 项目的创建、应用的添加与注册、配置文件的调整、视图与路由的设置、数据库的初始化与切换等基础操作。

  • 通过这些步骤,完成了一个最基础的 Django 项目搭建,为后续深入学习数据库交互等内容打下基础。


下一步:学习 Django 与数据库的交互操作。

http://www.xdnf.cn/news/544537.html

相关文章:

  • NLP学习路线图(二): 概率论与统计学(贝叶斯定理、概率分布等)
  • GO语言学习(六)
  • WSL虚拟机整体迁移教程(如何将WSL从C盘迁移到其他盘)
  • 【计算机方向海外优质会议推荐】第二届图像处理、机器学习与模式识别国际学术会议(IPMLP 2025)
  • 下载Ubuntu 64 位
  • 图像处理基础知识
  • YOLOv8 的双 Backbone 架构:解锁目标检测新性能
  • Java EE初阶——定时器和线程池
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio 与 Cline 快速构建AI编程助手
  • 游戏引擎学习第297天:将实体分离到Z层中
  • docker环境和dockerfile制作
  • 一洽小程序接入说明
  • 多模态大语言模型arxiv论文略读(八十五)
  • 20250520期:科研小白如何投稿一篇SCI?
  • 一文讲清python、anaconda的安装以及pycharm创建工程
  • [SpringBoot]Spring MVC(6.0)----图书管理系统(初)
  • mapbox进阶,纯前端geojson转shape,并将shape相关文件压缩成zip压缩包并下载
  • Mybatis面向接口编程
  • 塔能智能照明方案——贵州某地区市政照明改造实践
  • Android 中拖拽从一个组件到另外一个组件的写法(跨容器拖拽)
  • mysql不能聚合之数据清洗逗号
  • Docker中部署Alertmanager
  • 碰一碰发视频源码:技术架构与全链路解析
  • Node.js路径处理指南:如何安全获取当前脚本目录路径
  • Redis 命令大全
  • CentOS 7上BIND9配置DNS服务器指南
  • 扫盲笔记之NPM
  • 精益数据分析(72/126):MVP的核心法则——消除阻碍与聚焦关键指标
  • 数据分析预备篇---Pandas的DataFrame的更多操作
  • R语言学习--Day04--数据分析技巧