Django搭建项目实战与避坑细节详解

Django 开发项目是很快的,有多快?看完本篇文章,你就知道了。

安装 Django

前提条件:已安装 Python。

Django 使用 pip 命令直接就可以安装:

pip install django

如果安装失败,很可能是因为网络连接超时了,试试国内镜像:

pip install --default-timeout=6000 -i https://pypi.tuna.tsinghua.edu.cn/simple django

这条命令同时延长了超时时间,提高成功率。

安装完成后,通过 django-admin --version 这条命令验证。

创建 project

按住 Windows 键 + R,输入 cmd 回车,接着 cd 到任意目录:

或者先打开目录窗口,在地址栏输入 cmd 回车,不需要 cd(推荐):

在命令行窗口输入命令创建 project:

django-admin startproject mysite

目录结构如下(注意有 2 个 mysite 哦):

mysite/
 manage.py
 mysite/
  __init__.py
  settings.py
  urls.py
  asgi.py
  wsgi.py

创建 app

Django 项目由 1 个 project 和多个 app 组成。project 存放项目配置,app 是网站各个功能的具体实现。

app 的放置目录没有限制,这里先放在和 mysite 的同级目录中,先进入外层的 mysite 文件夹:

cd mysite

输入命令创建:

django-admin startapp polls

目录结构如下:

mysite/
	polls/
  __init__.py
  admin.py
  apps.py
  migrations/
   __init__.py
  models.py
  tests.py
  views.py
 mysite/
 manage.py

使用 cmd 创建完 project 和 app 以后,就可以打开 PyCharm,再 Open mysite 项目了:

为了让 app 和 project 关联起来,需要在 mysite/settings.py 文件中添加配置:

INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'polls.apps.PollsConfig', # 添加
]

在 polls/models.py 文件中添加数据模型:

from django.db import models

class Question(models.Model):
 question_text = models.CharField(max_length=200)
 pub_date = models.DateTimeField('date published')

class Choice(models.Model):
 question = models.ForeignKey(Question, on_delete=models.CASCADE)
 choice_text = models.CharField(max_length=200)
 votes = models.IntegerField(default=0)

连接 MySQL

前提条件:已安装 MySQL,创建好数据库。

Django 默认使用轻量级数据库 SQLite,我们切换为常用的 MySQL。

修改 mysite/settings.py 中的数据库配置:

DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql',
  'HOST': '主机',
  'PORT': 端口,
  'NAME': '数据库名',
  'USER': '用户名',
  'PASSWORD': '密码'
 }
}

Django 默认通过底层调用 mysqlclient 这个库和 MySQL 交互。但是 mysqlclient 非常不好安装!我们改用 pymysql。

先安装:

pip install pymysql

然后在与 mysite/settings.py 文件同级的 __init__ 文件中添加:

import pymysql

pymysql.version_info = (1, 4, 0, "final", 0)
pymysql.install_as_MySQLdb()

数据迁移

数据迁移,指的是把代码中的数据模型,迁移到数据库中,创建相应的表结构。

第一步,告诉 Django 数据模型有更新:

python manage.py makemigrations polls

执行后输出:

Migrations for 'polls':
 polls/migrations/0001_initial.py
 - Create model Question
 - Create model Choice

第二步,执行数据迁移同步:

python manage.py migrate

执行后输出:

Operations to perform:
 Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
 Rendering model states... DONE
 Applying polls.0001_initial... OK

数据库表就创建好了:

启动项目

万事俱备,只差 1 条启动命令,在根目录执行:

python manage.py runserver

访问 http://127.0.0.1:8000/,就可以看到来自 Django 老铁的这发火箭了:

小结

本文是对《匆匆一眼》文章的补充。介绍了如何安装 Django,创建 Django 的 project 和 app,连接 MySQL,执行数据迁移,最后启动项目的实际操作步骤。思路很清晰。整体流程清楚了,可这些文件都是干嘛的呢?

参考资料:

https://docs.djangoproject.com/en/3.1/intro/tutorial01/

到此这篇关于Django搭建项目实战与避坑细节的文章就介绍到这了,更多相关Django搭建项目与避坑内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Django框架安装及项目创建过程解析

    1.安装Django 在命令行模式下使用pip工具来安装Django,pip工具的安装方法见此篇 pip install django 2.确认是否安装成功 在Python交互模式下 import django django.get_version() 3.创建Django项目 在命令行模式下 django-admin.py startproject demo 注意:创建的项目在当前执行命令所在目录下 4.创建APP 在命令行模式下,进入上一步创建的项目目录demo下,里面包括同名子目录demo

  • Django框架创建项目的方法入门教程

    本文实例讲述了Django框架创建项目的方法.分享给大家供大家参考,具体如下: Django 管理工具 安装 Django 之后,就有了可用的管理工具 django-admin.py.我们可以使用 django-admin.py 来创建一个项目: 我们可以来看下django-admin.py的命令介绍: Type 'django-admin.py help <subcommand>' for help on a specific subcommand. Available subcommand

  • Python3创建Django项目的几种方法(3种)

    Django是一种基于Python的Web开发框架 一.在命令行中创建Django项目(Windows平台.python3.6) 1.建立虚拟环境(创建一个独立的Python运行环境) 为项目新建一个目录learning_log,在终端切换到这个目录,并创建虚拟环境 这里运行了模块venv,并使用它创建一个名为ll_env的虚拟环境 注意:如果python是较早版本,则先安装virtualenv(pip3 install virtualenv)然后再创建虚拟环境(virtualenv ll_en

  • Django项目创建到启动详解(最全最详细)

    一.前言 (一).概述 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C: (二).预处理 配置环境 OS:CentOS 7.6 64bit python版本:3.7 Wind

  • Django搭建项目实战与避坑细节详解

    Django 开发项目是很快的,有多快?看完本篇文章,你就知道了. 安装 Django 前提条件:已安装 Python. Django 使用 pip 命令直接就可以安装: pip install django 如果安装失败,很可能是因为网络连接超时了,试试国内镜像: pip install --default-timeout=6000 -i https://pypi.tuna.tsinghua.edu.cn/simple django 这条命令同时延长了超时时间,提高成功率. 安装完成后,通过

  • Java 实战项目之疫情防控管理系统详解

    目录 ☣基于java疫情防控管理系统 1.登录模块(注册) 2.今日疫情模块 3.防疫管理模块 4.系统管理模块 5.用户模块 ☣基于java疫情防控管理系统 ☣项目介绍:通过对依社区为单位进行人群的管理,以及疫苗的情况,包括小区状况,通过RBAC进行角色与用户之间的权限管理. ☣项目:环境-IDEA.Mysql数据库,Tomcat服务器,SpringMVC,SpringBoot,AOP,拦截器,过滤器,全局异常,RBAC权限控制等. 1.登录模块(注册) 核心代码:service层 @Serv

  • Java 实战项目之疫情人员流动管理系统详解

    一.项目简述 本系统主要实现的功能有: 社区疫情流动人员管理系统,住户管理,出入管理,访客管理,体温录入,高风险警示等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等 系统用户后台管理代

  • Python实战项目刮刮乐的实现详解流程

    目录 导语 正文 1)环境安装 2)正式敲代码 2.1定义必要常量 2.2设置随机读取图片 2.3主程序 3)效果图展示 3.1 part 随机图一 3.2 part 随机图二 3.3 part 随机图三 总结 导语 在CSDN学习的过程中,遇到了爆火的文章是关于刮刮卡的! 大家猜猜看是谁写的? 我看这文章都特别火,我也感觉挺好玩的,那就寻思用 Python肯定也能做呀! 这不?今天还有时间,那就带大家写一款刮刮乐的小程序吧~ 正文 1)环境安装 准备好Python3.Pycharm.Pygam

  • Java 实战项目之家居购物商城系统详解流程

    一.项目简述 功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用户管理,商品管理,分类管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload 打开订单列

  • 安装node.js以及搭建vue项目过程中遇到的问题详解

    目录 一.node.js安装 二.如何找node.js历史版本 1.点击DOWNLOADS 2.点击页面下方 3.翻页找到历史版本 三.检查是否安装成功? 四.安装成功后需要配置环境变量: 五.环境搭建 六.项目创建 总结 一.node.js安装 进入官网 https://nodejs.org/en/download/ 直接点击下载安装!安装过程直接下一步就行: 二.如何找node.js历史版本 (https://nodejs.org/en/download/) 1.点击DOWNLOADS 2.

  • JavaCV实战之调用摄像头基础详解

    目录 关于<JavaCV的摄像头实战>系列 本篇概览 环境和版本信息 源码下载 基本套路分析 基本框架编码 部署媒体服务器 关于<JavaCV的摄像头实战>系列 <JavaCV的摄像头实战>顾名思义,是使用JavaCV框架对摄像头进行各种处理的实战集合,这是欣宸作为一名Java程序员,在计算机视觉(computer vision)领域的一个原创系列,通过连续的编码实战,与您一同学习掌握视频.音频.图片等资源的各种操作 另外要说明的是,整个系列使用的摄像头是USB摄像图或

  • Redis实战之Jedis使用技巧详解

    目录 一.摘要 二.Jedis 2.1.基本使用 2.2.连接池 2.3.连接池配置 2.4.字符串常用 API 操作 2.5.哈希常用 API 操作 2.6.列表常用 API 操作 2.7.集合常用 API 操作 2.8.有序集合常用 API 操作 三.集群配置 3.1.哨兵模式 3.2.集群模式 四.小结 一.摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍. 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个

  • struts2入门(搭建环境、配置、示例)详解

    在慕课网学习struts2入门课程,在官网下载的最新的struts-2.5.5-all.zip,JDK使用的是jdk1.6,Tomcat9.0,一直报错[java.lang.UnsupportedClassVersionError],版本不一致,可是各种换版本也都不好使,无奈最后找到了一篇较新的博文,按照他的Struts2版本进行了配置,终于可以用了. ------不过还是不太明白为啥struts-2.5.5无论是配jdk1.6还是jdk1.8,还是更换tomcat版本,都不好用.有明白清楚的还

  • Vue项目全局配置微信分享思路详解

    这个项目为移动端项目,主要用于接入公众号服务.项目采用两种登录方式,微信授权登录以及账号密码登录.对于移动端项目而言,为了便于项目扩展以及提供开发热更新速度,项目分为不同的模块,每个模块是一个单页面应用.页面分为两种,一种是需要用户登录之后才能浏览,另一种是用户无需登录即可浏览.无论哪一种,均配置微信分享. 使用的技术 1.使用vue作为框架 2.使用vux作为UI组件库 全局配置微信分享思路 1.区分一般和特殊,一般情况,全局配置默认分享文案:特殊情况分两种,一种是分享内容不需要异步获取,则在

随机推荐