项目构建和基础知识--Django播客系统(三)

2024-08-24 13:38

本文主要是介绍项目构建和基础知识--Django播客系统(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目构建和基础知识–Django播客系统(三)

文章目录

  • 项目构建和基础知识--Django播客系统(三)
    • 概述
    • 安装Django
    • 创建Django项目
      • 数据库配置
      • MySQL数据库驱动
      • 创建应用
      • 注册应用
      • 模型Model
      • 创建User的Model类
    • Django后台管理
    • 路由

概述

  • Django采用MVC架构设计的开源的WEB快速开发框架。
  • 优点:
    1. 能够快速开发,自带ORM、Template、Form、Auth核心组件
    2. MVC设计模式
    3. 实用的管理后台Admin
    4. 简洁的url设计
    5. 周边插件丰富
  • 缺点:架构重、同步阻塞
  • 所有Django的设计目标就是一款大而全,便于企业快速开发项目的框架,因此企业应用较广。

安装Django

  • Python实用3.6.x
  • Django的下载地址https://www.djangoproject.com/download/
  • Python版本依赖,参看https://docs.djangoproject.com/en/1.11/faq/install/#faq-python-version-support
Django versionPython版本
1.82.7,3.2 (until the end of 2016), 3.3, 3.4, 3.5
1.9,1.102.7,3.4,3.5
1.11(LTS)2.7,3.4,3.5,3.6,3.7(added in 1.11.17)
2.03.4,3.5,3.6,3.7
2.1,2.2(LTS)3.5,3.6,3.7
  • 目前Django长期支持版本有1.11和2.2,这是企业的选择。
    1. $ pip install django==2.2
  • 本次使用Django2.2版本,它也是长期支持版本LTS,请在虚拟环境中安装。
  • 在虚拟环境路径中,Lib/site-packeges/django/bin下游一个django-admin.py,一起从它开始。
# django-admin --version #查看当前django版本
# django-admin --help #查看使用帮助
# django-admin startproject --help #查看startproject命令帮助
(venv) D:\MyPythonUse\DjangoWeb>django-adminType 'django-admin help <subcommand>' for help on a specific subcommand.Available subcommands:[django]checkcompilemessagescreatecachetabledbshelldiffsettingsdumpdataflushinspectdbloaddatamakemessagesmakemigrationsmigraterunserversendtestemailshellshowmigrationssqlflushsqlmigratesqlsequenceresetsquashmigrationsstartappstartprojecttesttestserver
  • 注意:本文若未特殊声明,所有的命令操作都在项目的根目录下

创建Django项目

  • 创建名为blog的django项目django-admin startproject djweb .

  • 上句命令就在当前项目根目录中构建了Django项目的初始文件。.点代表项目根目录。

F:\CLASSES\TPROJECTS\BLOG10 
├─ manage.py└─ djweb├─  settings.py├─  urls.py├─  wsgi.py└─  __init__.py
  • 重要文件说明
    1. manage.py:本项目管理的命令行工具。应用创建、数据库迁移等都使用它完成
    2. dgweb/settings.py:本项目的核心配置文件。数据库、中间件、模板等
    3. dgweb/urls.py:URL路径映射配置。项目初始,只配置了/admin的路由。
    4. dgweb/wsgi:定义WSGI接口信息。部署用,一般无需改动。

数据库配置

使用数据库,需要修改默认的数据库配置。
在主项目的settings.py下DATABASES。默认使用的sqlite,修改为mysql。

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'gdy','USER': 'gdy','PASSWORD': 'gdy','HOST': '127.0.0.1','PORT': '3306',}
}
配置项说明
HOST数据库主机。缺省是空字符串,代表localhost。如果是/开头表示使用UnixSocket链接
POST端口
USER用户名
PASSWORD密码
NAME库名
OPTIONS选项、字典类型,参考MySQL文档
  1. 数据库引擎ENGINE
  2. 内建引擎有
    • django.db.backends.postgresql
    • django.db.backends.mysql
    • django.db.backends.sqlite3
    • django.db.backends.oracle

MySQL数据库驱动

https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-db-api-drivers

Django支持MySQL5.5+
Django官方推荐使用本地驱动mysqlclient 1.3.7+

  • 安装mysql驱动pip install mysqlclient
windows下可能发生安装错误 error: Microsoft Visual C++ 14.0 is required.解决方法  
1、下载Visual C++ Redistributable Packages 2015、2017安装,但是即使安装后,确实看到了V14库,也不保证 安装mysqlclient就成功  
2、直接安装编译好的wheel文件  
mysqlclient-1.3.13-cp

这篇关于项目构建和基础知识--Django播客系统(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102639

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下