Django入门开发流程

【Django自学】Django入门:如何使用django开发一个web项目(非常详细) 本文详细介绍django从安装到开启web开发,适合入门小白,以及创建web模板时的参考 阅读详情

最近刚开始学习django,本人菜鸟为了以后能快速回忆起来,现将开发基本流程总结如下:

注意事项:
	1、如果模板有变化要重新迁移(根据模板生成数据库表),如果要迁移的数据库中不为空,则迁移失败,需要清空数据库。
	2、在这个编辑器中的tab键和空格可能不标准,使用该代码时要统一变为空格缩进。

###开发流程开始!
--创建虚拟环境:
	mkvirtualenv h2
--进入虚拟环境,安装django包:
	pip install django
--在合适的目录下创建项目:
	django-admin startproject test2
--在虚拟环境中安装mysql-python包:
	pip install mysql-python
--登录mysql数据库,创建一个新数据库:
	create database test2;
--在setting.py中修改数据库配置为:
	DATABASES = {
		'default': {
			#'ENGINE': 'django.db.backends.sqlite3',
			#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
			'ENGINE': 'django.db.backends.mysql',
			'NAME':'test2',
			'USER':'root',
			'PASSWORD':'000000',
			'HOST':'localhost',
			'PORT':'3306',
		}
	}
--创建应用:
	(h2) xuewudu@xuewudu:~/PycharmProjects/project2/test2$ python manage.py startapp booktest
--在setting.py中将应用booktest添加到最后一行,结果为:
	INSTALLED_APPS = [
		'django.contrib.admin',
		'django.contrib.auth',
		'django.contrib.contenttypes',
		'django.contrib.sessions',
		'django.contrib.messages',
		'django.contrib.staticfiles',
		'booktest',
	]
--在models.py中定义模型类:
	根据实际定义,也就是定义表结构。在此全部代码为:
	# -*- coding: utf-8 -*-
	from __future__ import unicode_literals

	from django.db import models

	# Create your models here.

	class BookInfoManager(models.Manager):
		def get_queryset(self):
			return super(BookInfoManager,self).get_queryset().filter(isDelete=False)
		def create(self,btitle,bpub_date):
			b=BookInfo()
			b.btitle=btitle
			b.bpub_date=bpub_date
			b.bread=0
			b.bcommet=0
			b.isDelete=False
			return b
		
	class BookInfo(models.Model):
		btitle=models.CharField(max_length=20)
		bpub_date=models.DateTimeField(db_column='pub_date')
		bread=models.IntegerField(default=0)
		bcommet=models.IntegerField(null=False)
		isDelete=models.BooleanField(default=False)
		class Meta:
			db_table='bookinfo'
		books1=models.Manager()
		books2=BookInfoManager()

		@classmethod
		def create(cls, btitle, bpub_date):
			b = BookInfo()
			b.btitle = btitle
			b.bpub_date = bpub_date
			b.bread = 0
			b.bcommet = 0
			b.isDelete = False
			return b
		
		def __str__(self):
			return self.btitle.encode('utf-8')

	class HeroInfo(models.Model):
		hname=models.CharField(max_length=10)
		hgender=models.BooleanField(default=True)
		hcontent=models.CharField(max_length=1000)
		isDelete=models.BooleanField(default=False)
		book=models.ForeignKey(BookInfo)

		def __str__(self):
			return self.hname.encode('utf-8')
		
--生成迁移(两条语句依次执行):
	(h2) xuewudu@xuewudu:~/PycharmProjects/project2/test2$ python manage.py makemigrations
	(h2) xuewudu@xuewudu:~/PycharmProjects/project2/test2$ python manage.py migrate
	此时数据库中已经自动生成表。
--在views.py中编写如下代码:
	# -*- coding: utf-8 -*-
	from __future__ import unicode_literals
	from models import *

	from django.shortcuts import render
	from django.db.models import Max,F,Q
	# Create your views here.
	def index(request):
		#list = BookInfo.books1.filter(heroinfo__hcontent__contains='八')   #某本书的英雄的结束包含‘八’的查询出来
		#list = BookInfo.books1.filter(pk__lte=2)    #查询编号小于等于2的
		#list = BookInfo.books1.filter(bread__gte=0)  #查询阅读量大于等于0的
		list = BookInfo.books1.filter(bread__lte=F('bcommet'))    #查询阅读量小于等于评论量的,不同属性比较使用F
		
		#list = BookInfo.books1.filter(bread__lte=4,btitle__contains='1')  #这两句效果相同,表示并列
		#list = BookInfo.books1.filter(bread__lte=4).filter(btitle__contains='1')

		list = BookInfo.books1.filter(Q(bread__lte=4) | Q(btitle__contains='1')  #这句表示并列,使用Q
	
		Max1 = BookInfo.books1.aggregate(Max('bpub_date'))   #查询最大的date,在index.html显示到Max1标签中
		context={'list':list,'Max1':Max1}
		return render(request,'booktest/index.html',context)
--在project2/test2/booktest下新建文件urls.py
--在project2/test2/test2中的urls.py中将上面新建的urls.py添加进去,全部代码如下:
	from django.conf.urls import include,url
	from django.contrib import admin

	urlpatterns = [
		url(r'^admin/', admin.site.urls),
		url(r'^',include('booktest.urls')),   #新添加部分
	]
--在project2/test2/booktest/urls.py中添加url地址映射,全部代码如下:
	from  django.conf.urls import url
	import  views

	urlpatterns = [
		url(r'^$',views.index)
	]
--在项目文件夹(test2)下新建文件夹路径为project2/test2/templates/booktest,(最后一个文件夹
要和应用同名,在此为booktest)在这个文件夹中新建index.html文件,编写相应代码,在此全部代码为:
	<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
	</head>
	<body>
	<ul>
	   {% for book in list %}
		<li>
			{{ book.btitle }}
		</li>
		{% endfor %}
	</ul>
	<hr>
	{{ Max1 }}
	</body>
	</html>
--在settings.py的TEMPLATES列表中添加模板路径,部分代码为:
	TEMPLATES = [
		{
			......
			'DIRS': [os.path.join(BASE_DIR,'templates')],
			......
		},
	]
--在admin.py中配置登录页面,用法为admin.site.register(模型类,admin类),在此全部代码为:
	# -*- coding: utf-8 -*-
	from __future__ import unicode_literals

	from django.contrib import admin
	from models import *
	# Register your models here.
	class HeroInfoInline(admin.TabularInline):
		model = HeroInfo
		extra = 3

	class BookInfoAdmin(admin.ModelAdmin):
		list_display = ['id','btitle','bpub_date','bcommet']
		list_filter = ['btitle']
		search_fields = ['btitle']
		list_per_page = 10
		fieldsets = [
			('base',{'fields':['btitle']}),
			('super',{'fields':['bpub_date','bcommet']})
		]
		inlines = [HeroInfoInline]

	admin.site.register(BookInfo,BookInfoAdmin)
	admin.site.register(HeroInfo)
--在虚拟环境h2中创建超级管理员,命令如下:
	python manage.py createsuperuser
--在虚拟环境h2中启动服务器,命令如下:
	python manage.py runserver
--打开浏览器输入120.0.0.1:8000就可以进入到Django主页面了。

 

Django----做一个简单网页的教程(适合初学者) 这篇文字适合刚学习Django的同学,如果比较熟的就不用看了。 以下都是讲在windows上的部署情况; 准备: 1、python3.6 2、pycharm profession(专业版) 3、安装Django模块 以上的安装就不讲了,比较简单,网上也有很多教程。都去官网下载安装即可。   前言: 学习django框架其实就是学习它的文件目录,目录下有一些必须的模块和包,当然你也... 阅读详情

相关推荐

Django快速入门:从安装到启动开发服务器全流程

在Web开发中,后端框架的选择直接影响项目的开发效率。Django作为Python生态中最成熟的全栈框架,内置ORM、Admin后台、用户认证等核心模块,让开发者无需从零搭建基础功能。而环境配置往往是新手入门的第一道坎:虚拟环境隔离依赖、pip管理包版本、django-admin生成项目骨架、manage.py启动服务,这些基础操作构成了Django开发的起点。理解请求到响应的完整链路、数据库迁移机制以及Admin后台的使用方式,是掌握Django工程化思维的关键。无论搭建个人博客、企业官网还是内部管理系统

weixin_30376509的博客 324

Django框架入门:Python Web开发全流程指南

Web开发框架是现代软件开发的核心工具,通过封装通用功能提升开发效率。Django作为Python生态中最成熟的Web框架,采用MTV架构模式(Model-Template-View),内置ORM系统实现数据库无关性,自带Admin后台简化数据管理。其'包含电池'的设计理念特别适合快速开发场景,从内容管理系统到REST API都能高效构建。通过Django ORM可以用Python类定义数据模型,自动生成数据库表结构;模板系统支持继承和组件化,实现UI复用;路由配置简洁明了,支持正则表达式匹配。在工程实践中

weixin_33797791的博客 367

一个实例快速入门Django web开发

一 前言 前面几节以图书管理系统开发为切入点,对Django涉及的几个核心概念点进行了介绍,但缺乏连贯性。本文将从头到尾完成一个简单的实例项目,把Django开发流程串联一遍,对想了解或学习Django Web开发的同学应该会有一点帮助。 二 Django入门实例 准备开发环境 以windows系统为例,提前安装好Python3、Django2、Pycharm,在此不再赘述。 ...

Reiki的专栏 2512

Django框架丨从零开始的Django入门学习

Django 是一个用于构建 Web 应用程序的高级 Python Web 框架,Django是一个高度模块化的框架,使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。以下内容将从安装开始。

weixin_51355600的博客 2万+

【Python百日进阶-WEB开发】Day164 - Django入门:框架要点、流程

文章目录一、Python Web 框架要点1、web应用处理流程2、Web框架的意义3、Web应用程序的本质4、Web框架学习方法二、Django流程2-1、Django介绍2.1.1 基本介绍2.1.2 Django特点2.1.3 MVC 与 MTV模型2.1.3.1 MVC 模型2.1.3.2 MTV 模型2-2、Django虚拟环境2.2.1 为什么要创建虚拟环境2.2.2 如何创建虚拟环境virtualenv2-3、创建Django项目2.3.1 创建Django项目2.3.2 项目的目录结构2.3

专注于医院数据分析技术与系统开发的创作与分享。 501

WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法

WSL运行make提示/lib//modules/xxx文件或目录不存在。 WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。

weixin_45668903的博客 1万+

<Django> MVT三大块之Models(模型)

1.ORM(对象-关系-映射)---面向对象,不需要面向SQL语句 根据对象的类型生成表结构 将对象、列表的操作,转化成SQL语句 将SQL语句查询的结果转化成对象、列表   目的:实现数据模型与数据库的解耦-----减少基于数据库的维护   效果:这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动      Django中的模型包含存储数据的字段和约束,对...

weixin_30739595的博客 277

抓包工具(五)2025版 Burp Suite Professional的下载、安装、使用

抓包工具(五)2025版 Burp Suite Professional的下载、安装、使用

ACGkaka的博客 2万+

Django:MTV和MVC的区别

在 Web 开发领域还有另外一个非常著名的设计模式——MVC,它和 MTV 又有什么区别呢? 1. MVC设计模式 我们先对 MVC 设计模式进行介绍,它是 Web 设计模式的经典之作,MTV 模式也是在它的基础上衍生而来。 MVC 是 Model-View-Controller 的缩写,其中每个单词都有其不同的含义: Modle代表数据存储层,是对数据表的定义和数据的增删改查; View代表视图层,是系统前端显示部分,它负责显示什么和如何进行显示; Controller代表控制层,负责根据...

Yummy的博客 944

从零开始:TexLive(Latex)安装与配置全指南

本文提供了一份详尽的TexLive(Latex)安装与配置全指南,旨在帮助用户从零开始快速搭建LaTeX工作环境。内容涵盖从镜像下载、安装步骤详解、环境验证到高效编辑器(如VS Code)配置,并特别强调了中文排版支持与宏包管理,确保用户能顺利处理学术论文等专业文档的排版需求。

weixin_29284885的博客 903

Unity 之如何使用Pico4u锚点功能实现一个世界锁GameRoot

摘要 空间锚点技术是混合现实(MR)应用的核心,能永久记录虚拟物体的空间位置。文章介绍了在Unity中使用Pico SDK实现空间锚点的完整流程:1)环境配置需安装XR模块和Pico SDK;2)关键操作包括启动空间感知、创建/删除/查询/更新锚点;3)提供了经典应用案例,通过GameRoot节点实现场景固定和锚点同步。源码展示了基于XR交互工具包的锚点抓取与位置更新实现,为MR开发提供了实用参考方案。

TxNet 972

Django入门学习(6)——开发流程

开发流程:step1:创建虚拟环境step2:安装Djangostep3:创建项目step4:创建应用step5:在models.py中定义模型类step6:定义视图step7:配置urlsstep8:创建模版setp1:打开setting .py文件,修改DATABASES项DATABASES = { 'default': { 'ENGINE': 'django.db.backe...

weixin_40949438的博客 365

【STM32+K210项目】基于K210智能人脸识别+车牌识别系统(完整工程资料源码)

随着时代的进步和科技的迅猛发展,人们对居住安全的重视程度不断提升,对安全防范系统的需求也日益增强。在安防系统中,门禁系统占据着重要的位置。传统的门禁控制方式主要依靠钥匙、密码和门禁卡等,这些方式易于被破解和复制,安全性较低。然而,近年来,生物识别技术的迅速发展和成熟,为解决这一问题提供了新的方案。生物识别技术具备便携性、非易失性、不易遗忘以及难以盗用等优点,逐渐被引入到门禁系统中。传统的小区门禁系统往往依赖人工管理,存在一定的局限性,难以满足用户多样化的需求,也浪费了人力资源。

嵌入式技术开发 1万+

Django入门实战:从零搭建博客系统,掌握Python Web开发核心流程

Web开发是连接用户与服务的桥梁,其核心在于处理HTTP请求、操作数据库并生成动态响应。Python作为主流后端语言,通过Django等全栈框架,开发者能高效构建稳健的Web应用。Django遵循MVT(Model-View-Template)架构,内置ORM、Admin后台和表单系统,大幅降低开发门槛,其“约定优于配置”的理念尤其适合培养工程化思维。在实战中,从环境搭建、数据模型设计到视图与模板渲染,每一步都深化对请求响应循环和代码组织的理解。例如,通过创建虚拟环境隔离依赖,使用ORM定义Article模

weixin_30703911的博客 379

全新YOLO26有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

🔥《2026年YOLO26改进专栏》🔥 🚀持续更新500+最前沿创新改进点(顶会顶刊论文/独家创新策略),涵盖主干网络、各种卷积、注意力机制、检测头等模块,助力科研论文发表与模型性能提升,支持检测/分割/分类任务。订阅即获完整可运行项目,提供专业QQ答疑群,适合科研发论文(SCI/CCF/核心)及工业应用(PCB/医学/遥感检测)。专栏价格将逐步上涨,早订更优惠! ⭐特色:非计算机专业友好、模块可自由组合、全网独家创新;📌适用:研究生大论文和小论文创新、小目标检测、多领域科研应用,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 5139

YOLOv8【第一章:基础入门篇·第1节】一文搞定,核心架构深度解析与环境配置!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!

**My Coding Family** 2104

Django全栈开发入门:用博客项目跑通Web开发全流程

Web开发中,框架的选择往往决定学习路径与项目效率。Django作为Python生态中成熟的全栈Web框架,遵循“约定优于配置”的设计理念,内置ORM、Admin后台、认证系统等完整组件,相比轻量框架的灵活拼装,更适合快速构建数据驱动型应用。其核心原理是通过模型-视图-模板的分层架构,将数据库操作、业务逻辑与页面渲染解耦,配合URL路由与安全机制,形成清晰的请求处理链路。无论是个人博客、内容管理系统还是企业级站点,Django都能显著降低重复造轮子的成本。本文以一个经典博客系统为载体,从环境搭建、数据建模、

weixin_29214691的博客 240

Qemu开发ARM篇-5、buildroot制作根文件系统并挂载启动

在上一篇中,我们编译了kernel,并在qemu上进行了运行,但到最后,在挂载根文件系统时候,挂载失败,这是因为我们还没有根文件系统,在本章中,我们将制作根文件系统。rootfs制作方式有很多方式,如busyBoxbuildrootYocto等,在该篇章中,我们使用buildroot来制作根文件系统,主要考虑到busyBox制作完还需要手动首改一些启动配置比较繁琐,而Yocto如果电脑配置不是很好,编译时间过长,比较麻烦。

sinat_33909696的博客 2465

Django全栈开发入门:从零构建博客系统完整流程与实践

Python基础学完后如何进阶?最好的路径是动手完成一个真实项目,而Django框架便是连接前后端与数据库的经典选择。理解ORM数据建模、QuerySet惰性查询、路由分发与视图逻辑,是掌握Web开发的核心前提。利用Django内置的认证系统与模板引擎,可以高效实现用户登录、权限控制及服务端渲染页面。从环境搭建、虚拟环境配置到模型迁移、视图编写和部署细节,博客系统覆盖了全栈开发的主要环节。这类项目在CMS内容管理、个人站点及企业后台等场景中应用广泛。这篇文章以构建博客为例,深入拆解Django全栈开发的完整

weixin_34072296的博客 78

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

速学Django:Web开发从入门到进阶

本书是一本关于Django开发快速入门的图书。本书清晰明了地讲解了使用Django进行Web项目开发时所涉及的常用知识点,包括框架配置、路由配置、模型、视图、模板、表单、中间件、上下文处理器、代码测试、网站缓存和网站部署等内容。本书的宗旨是以尽可能简洁的流程引领读者快速入门Web项目开发,并能够在实战项目中充分体会使用Django进行Web项目开发的各种技术与方法。本书主要包含两部分内容:第一部分(第1~6章)为读者介绍Django的用途与特点、设计理念以及Django开发所依赖的知识体系。

m0_67393342的博客 995

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Django入门实操:从URL路由到数据库的完整Web开发流程

Web页面开发离不开成熟的后端框架,Python生态中的Django凭借其“全家桶”特性成为入门首选。理解一次浏览器请求如何通过URL路由匹配视图函数、再由模板引擎渲染HTML,是掌握Web开发底层逻辑的关键。Django内置的ORM让开发者无需编写SQL即可操作数据库,表单与CSRF防护机制则保证了页面交互的安全。无论是快速搭建博客原型,还是构建带用户管理的正式站点,Django都能显著提升开发效率。本文从环境配置、项目创建开始,逐步演示URL路由、视图函数、模板继承、静态文件、表单处理与数据库模型的使用

weixin_32050773的博客 96

Django部门管理实战:从模型设计到MTV全流程开发入门

Django作为Python生态中最主流的Web框架,以MTV(Model-Template-View)架构为核心,将数据模型、业务逻辑与页面渲染清晰解耦。理解MTV模式是掌握Django开发的关键,Model负责数据结构与数据库映射,View承接请求处理与业务规则,Template则完成页面呈现。这种分层设计让团队协作更高效,也让功能扩展更灵活。在实际工程中,无论是构建内部管理系统还是搭建业务后台,部门管理这类基础功能都是典型应用场景,它完整覆盖了模型字段设计、视图函数编写、URL路由配置、模板渲染、分页

weixin_34005090的博客 247

Django全栈开发入门:从零搭建一个博客系统全流程指南

在Web开发领域,选择适合的框架是迈向全栈工程师的第一步。Django作为Python生态中成熟的全栈框架,凭借内置的ORM、Admin后台、模板系统与表单处理能力,大幅降低了内容型应用的建设门槛。通过构建一个技术博客系统,可以完整串联数据模型设计、后台发布、前端渲染、表单交互与上线部署等核心环节。文章从基础概念出发,剖析Django的MVT架构与请求处理链路,结合工程实践讲解文章、分类、标签、评论等模型关系,并演示Admin定制、视图逻辑、模板继承、分页搜索及生产环境配置检查。无论是初学者构建第一个完整项

weixin_29266749的博客 292

猫头虎分享:Python库 Django 的简介、安装、用法详解入门教程

Django 是一个高级Python Web框架,其目标是让开发复杂的数据库驱动网站变得简单。通过Django,你可以少写代码,快速开发出功能强大的应用程序。核心特点快速开发:内置了很多常见的Web开发组件,如用户认证、管理后台等。高度可扩展:支持各种数据库及第三方插件,适应性强。安全性:防止常见的Web漏洞,如SQL注入、跨站脚本攻击等。DRY原理:Don’t Repeat Yourself,避免重复代码,提高代码重用性。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 7429
上一篇: Linux普通用户无法登录mysql——ERROR 1698 (28000): Access denied for user 'root'@'localhost'
下一篇: 阿里云服务器部署web项目基本流程
ACanswer
博客等级 码龄12年 280粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值