【玩转全栈】----Django基本配置和介绍

Django 基本介绍

Django 是一个基于 Python 的高性能 Web 框架,采用 MTV(Model-Template-View)模式,内置 ORM、Admin 后台、表单处理等功能,适合快速开发安全、可维护的 Web 应用。

Django 安装配置

确保已安装 Python(3.6+),通过 pip 安装 Django:

bash 复制代码
pip install django

验证安装:

bash 复制代码
django-admin --version

创建项目

使用命令行创建项目骨架:

bash 复制代码
django-admin startproject myproject

目录结构说明:

  • manage.py:项目管理脚本。
  • myproject/settings.py:全局配置(数据库、中间件等)。
  • myproject/urls.py:主路由配置。

运行开发服务器

进入项目目录,启动开发服务器:

bash 复制代码
python manage.py runserver

默认访问 http://127.0.0.1:8000

关键配置项

修改 settings.py 以适配需求:

  • 数据库 :默认为 SQLite,可切换 MySQL/PostgreSQL:

    python 复制代码
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mydatabase',
            'USER': 'root',
            'PASSWORD': 'password',
        }
    }
  • 时区与语言

    python 复制代码
    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
  • 静态文件 :配置 STATIC_URLSTATIC_ROOT

创建应用

Django 项目由多个应用组成,创建应用:

bash 复制代码
python manage.py startapp myapp

settings.pyINSTALLED_APPS 中添加应用名:

python 复制代码
INSTALLED_APPS = [
    ...,
    'myapp',
]

数据模型与迁移

myapp/models.py 中定义模型:

python 复制代码
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

生成并执行迁移:

bash 复制代码
python manage.py makemigrations
python manage.py migrate

路由与视图

  1. 视图 :在 myapp/views.py 中定义逻辑:

    python 复制代码
    from django.shortcuts import render
    def home(request):
        return render(request, 'home.html')
  2. 路由 :在 myapp/urls.py 中配置路径:

    python 复制代码
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.home, name='home'),
    ]

    在主路由 myproject/urls.py 中引入应用路由:

    python 复制代码
    from django.urls import include
    urlpatterns = [
        path('', include('myapp.urls')),
    ]

模板渲染

myapp/templates/ 下创建模板文件(如 home.html),使用 Django 模板语法动态渲染数据。

Admin 后台

创建超级用户:

bash 复制代码
python manage.py createsuperuser

访问 http://127.0.0.1:8000/admin 登录,在 myapp/admin.py 中注册模型:

python 复制代码
from django.contrib import admin
from .models import Article
admin.site.register(Article)

注意事项

  • 调试模式:开发时 DEBUG=True,生产环境必须设为 False
  • 安全密钥:SECRET_KEY 需保密,避免泄露。
  • 跨域问题:生产环境需配置 ALLOWED_HOSTS 或使用 CORS 中间件。
相关推荐
AI人工智能+电脑小能手3 分钟前
【大白话说Java面试题】【Java基础篇】第7题:HashMap的get流程是什么
java·后端·面试·哈希算法·散列表·hash-index·hash
IMPYLH1 天前
Linux 的 sha512sum 命令
linux·运维·服务器·bash·哈希算法·散列表
开开心心_Every1 天前
文件强制删除工具,单文件拖入解锁删除简单
运维·edge·pdf·计算机外设·逻辑回归·散列表·启发式算法
睡觉就不困鸭2 天前
第9天 两数之和
算法·哈希算法·散列表
不会写DN2 天前
为什么map查找时间复杂度是O(1)?
算法·哈希算法·散列表
逻辑驱动的ken3 天前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
开开心心_Every4 天前
动图制作工具,拆分转视频动态照离线免费
运维·前端·人工智能·edge·pdf·散列表·启发式算法
Q741_1476 天前
每日一题 力扣 3761. 镜像对之间最小绝对距离 哈希表 数组 C++ 题解
c++·算法·leetcode·哈希算法·散列表
郝学胜-神的一滴6 天前
[ 力扣 1124 ] 解锁最长良好时段问题:前缀和+哈希表的优雅解法
java·开发语言·数据结构·python·算法·leetcode·散列表
j_xxx404_7 天前
力扣C++算法:哈希表(存在重复元素|存在重复元素II|字母异位词分组)
算法·leetcode·散列表