Django项目框架搭建,快速入门Django

这篇具有很好参考价值的文章主要介绍了Django项目框架搭建,快速入门Django。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.django-admin创建项目骨架

Django提供了django-admin这个功能强大的命令行管理工具,其中最重要的就是可以利用它来完成项目的创建

django-admin startproject djangoy

startproject是django-admin的子命令,用于创建项目。这里,使用这个子命令创建了djangoy项目

项目的骨架如下:

Django项目框架搭建,快速入门Django

启动django项目:

django manage.py runserver

看到如下界面,代表一个初始的django项目创建成功:

Django项目框架搭建,快速入门Django


2.settings.py文件配置项解析

django-admin在创建项目的时候会生成settings.py文件,项目的所有配置都可以在这个文件中完成。Django定义了一些默认的配置,后期可以根据应用的需要进行修改,下面看一看默认生成的settings.py文件中都包含些什么

项目路径:

BASE_DIR = Path(__file__).resolve().parent.parent

SECRET_KEY:

这个变量本质上是一个加密盐,用于对各种需要加密的数据做Hash处理,例如密码重置、表单提交、session数据等

通常的做法是将它存储到系统环境变量中,通过os.getenv(key,default=None)的方式去获取

SECRET_KEY = 'django-insecure-gf_ty$0g((purom8o0(c_v_ij&)yyyheihei!nqu3-42x'

DEBUG:

通常在开发环境中将它设置为True,项目在运行的过程中会暴露出一些出错信息和配置信息以方便调试。但是在线上环境中应该修改其为False,避免敏感信息泄露

DEBUG = True

ALLOWED_HOSTS:

用于配置可以访问当前站点的域名,当DEBUG配置为False时,它是一个必填项,设置ALLOWED_HOSTS=['*']允许所有的域名访问

ALLOWED_HOSTS = []

INSTALLED_APPS:

这个参数配置的是当前项目需要加载的App包路径列表。Django默认会把admin(管理后台)、auth(权限系统)、sessions(会话系统)加入进去,可以根据项目的需要对其增加或删除配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

MIDDLEWARE:

当前项目中需要加载的中间件列表配置。与INSTALLED_APPS变量类似,Django也会默认加入一些中间件,例如用于处理会话的SessionMiddleware、用于处理授权验证的AuthenticationMiddleware等。同样,可以根据项目的需要对其增加或删除配置

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF:

这个变量标记的是当前项目的根URL配置,是Django路由系统的入口点

ROOT_URLCONF = 'djangoy.urls'

TEMPLATES:

这是一个列表变量,用于项目的模板配置,列表中的每一个元素都是一个字典,每个字典代表一个模板引擎

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates']
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION:

Django的内置服务器将使用的WSGI应用程序对象的完整Python路径

WSGI_APPLICATION = 'djangoy.wsgi.application'

DATABASES:

这是一个字典变量,标识项目的数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

AUTH_PASSWORD_VALIDATORS:

Django默认提供了一些支持插拔的密码验证器,且可以一次性配置多个。其主要目的是避免直接通过用户的弱密码配置申请

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

LANGUAGE_CODE和TIME_ZONE:

这两个变量分别代表项目的语言环境和时区

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N和USE_L10N:

Web服务搭建完成之后,可以面向不同国家的用户提供服务,这就要求应用支持国际化和本地化。这两个布尔类型的变量标识当前的项目是否需要开启国际化和本地化功能

USE_I18N = True

USE_TZ:

标识对于时区的处理,如果设置为True,不论TIME_ZONE设置的是什么,存储到数据库中的时间都是UTC时间

USE_TZ = True

STATIC_URL:

用于标记当前项目中静态资源的存放位置

STATIC_URL = 'static/'

DEFAULT_AUTO_FIELD:

主键的默认类型

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

3.修改项目的默认配置

配置语言环境和时区

中国的项目,设置语言为中文:

LANGUAGE_CODE = 'zh-Hans'

设置为对时区不敏感,这样就不用特殊处理存储在数据库中的时间了:

TIME_ZONE = 'Asia/Shanghai'

USE_TZ = False

配置开发数据库

Django自带的sqlite3不适合做应用项目的数据库,所以,这里用MySQL替代项目的默认数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 配置使用的数据库引擎
        'NAME': 'django_test',  # 数据库的名称
        'USER': 'root',  # 数据库用户名
        'PASSWORD': 'root',  # 数据库密码
        'HOST': '127.0.0.1',  # 数据库服务器地址,这里使用本地开发环境
        'PORT': '3306',  # 数据库服务器端口号,MySQL默认为3306
    }
}

4.初始化项目环境

INSTALLED_APPS中应用的数据库迁移

manage.py的migrate命令用于将应用的模型定义或修改同步到数据库中。migrate命令会检查INSTALLED_APPS里配置的应用列表,依次迭代为每个应用创建所需要的数据表

进入当前项目的虚拟环境

Django对于数据库的迁移工作通过两个命令来实现:

python manage.py makemigrations
python manage.py migrate

对于将来应用的每一次表结构定义修改,都需要再次执行makemigrations命令,Django会重新生成一个新的数据库迁移文件,记录表结构之间的差异,命令规则是对上一个迁移文件的序列号加1,如0002_xxxx、0003_xxxx。之后,再次执行migrate命令让新的迁移文件生效,完成表结构定义的修改

创建超级用户登录管理后台

manage.py提供了createsuperuser命令用于创建超级用户

python manage.py createsuperuser --username=admin --email=youremail@qq.com

当前命令执行后,需要重复输入两次密码(根据自己的需要设置),最终返回“Superuser created successfully”代表成功创建了超级用户

访问:http://127.0.0.1:8000/admin进入后台管理页面

Django项目框架搭建,快速入门Django

创建应用

利用manage.py提供的startapp命令创建一个video应用的命令如下:

python manage.py startapp video

执行命令成功后,会创建一个如下结构的app文件夹:

Django项目框架搭建,快速入门Django

生成requirements.txt文件

若要给当前的项目生成requirements.txt文件,需要进入根目录,执行命令:

pip freeze > requirements.txt

freeze会列出当前的虚拟环境中安装的依赖包及其版本号,它的输出格式与requirements.txt文件内容格式完全一样,所以,可以将其输出进行重定向,得到依赖清单

asgiref==3.5.2
Django==3.2.16
mysqlclient==2.1.1
pytz==2022.4
sqlparse==0.4.3
tzdata==2022.4

将来,需要重建当前项目环境的时候,就可以执行命令:文章来源地址https://www.toymoban.com/news/detail-436040.html

pip install -r requirements.txt  

到了这里,关于Django项目框架搭建,快速入门Django的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django框架入门到精通(04)Django创建第一个项目 (黄菊华老师大学生毕业设计学习教程)

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月06日
    浏览(53)
  • 使用django-admin来做erp,是否需要使用缓存数据库

    需求: 结论:仅仅使用django admin,不需要使用缓存 1:在django admin后台中禁止一次性下载超过100条带有手机号码字段的数据,从而限制转换解密时间在5秒钟内 2:非要缩短时间,让甲方加价钱 展开讨论 首先,Django Admin是Django框架的一个组成部分,用于创建网站的管理后台。它

    2024年01月25日
    浏览(58)
  • 若依框架(一)使用若依框架从0到1快速搭建springboot + vue 项目

    1、下载若依框架代码 进入若依官网,选择源码地址,软后选择RuoYi-Vue前端分离版本,这个版本是由SpringBoot + Vue进行前后端分离开发的。 点击之后进入到gitee,点击 “克隆/下载”,选择下载方式,可以实用git命令进行git克隆,也可以直接选择下载zip,这里推荐新手就下载z

    2024年02月16日
    浏览(36)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(72)
  • 无法将“django-admin”项识别为cmdlet,函数,脚本文件或可运行程序的名称问题

    无法将“django admin”项识别为cmdlet,函数,脚本文件或可运行程序的名称问题 小提示:首先检查一下有没有拼写错误!!!没有的话请继续 我们要知道django装到哪里去了 pip show django 注意:3.0版本以上django就没有bin文件了 3.0版本及以下可以通过配置环境变量来解决 检查系统

    2024年02月02日
    浏览(52)
  • Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

    常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者。便于分享:gradio可以在启动应用时设置share=True参数

    2023年04月25日
    浏览(46)
  • Django快速入门

    Django官网:https://docs.djangoproject.com/en/4.2/ 文档推荐看英文,看不懂就换中文吧 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管

    2024年02月14日
    浏览(29)
  • 【python】Django——django简介、django安装、创建项目、快速上手

    笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 Django——连接mysql数据库 Django 是一个高效、功能强大的 Web 应用程序框架,采用 Python 编写

    2024年02月20日
    浏览(54)
  • Dajngo01_Django框架基础与环境搭建

    在正式开始学习Django之前,我们先简单了解一下Web应用程序的本质: 接收并解析HTTP请求,获取具体的请求信息 处理本次HTTP请求,即完成本次请求的业务逻辑处理 构造并返回处理结果——HTTP响应 那么什么是web框架呢? Web应用框架有助于减轻网页开发时共通性活动的工作负荷

    2024年02月09日
    浏览(30)
  • Django框架:入门指南与常用命令

    引言: 在当今的Web开发世界中,Django无疑是一个备受瞩目的框架。它以其强大的功能和易用性,吸引着越来越多的开发者。这篇博客将为你提供一个关于Django的概览,以及一些常用的命令,帮助你快速上手。 一、Django简介: Django是一个高级Python Web框架,它鼓励快速开发和干

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包