当前位置: 首页 > news >正文

Django网站搭建流程

使用Django搭建网站是一个系统的过程,涉及从环境搭建到部署上线的多个步骤。以下是详细的流程:
1. 环境搭建
(1)安装Python
Django是基于Python的Web框架,因此需要先安装Python。建议安装Python 3.8及以上版本。
下载地址:Python官网。
(2)安装Django
使用pip安装Django:

pip install django


检查Django是否安装成功:

django-admin --version


2. 创建Django项目
(1)创建项目目录
打开终端或命令行工具,运行以下命令创建Django项目:

django-admin startproject myproject


其中myproject是项目的名称,你可以根据需要修改。
(2)进入项目目录
进入项目目录:

cd myproject


3. 创建Django应用
(1)创建应用
Django项目由多个应用组成,一个应用通常对应网站的一个功能模块。运行以下命令创建应用:

python manage.py startapp myapp


其中myapp是应用的名称。
(2)注册应用
将应用添加到项目的settings.py文件中:

Python复制INSTALLED_APPS = [...'myapp',
]


4. 定义模型(Model)
(1)编辑models.py
在myapp/models.py文件中定义数据模型。例如,定义一个简单的用户模型:

from django.db import modelsclass User(models.Model):username = models.CharField(max_length=100)email = models.EmailField()password = models.CharField(max_length=100)def __str__(self):return self.username


(2)生成数据库迁移文件
运行以下命令生成迁移文件:

python manage.py makemigrations


(3)应用迁移
运行以下命令将模型应用到数据库:

python manage.py migrate


5. 创建视图(View)
(1)编辑views.py
在myapp/views.py文件中定义视图逻辑。例如:

from django.shortcuts import render
from .models import Userdef home(request):users = User.objects.all()return render(request, "home.html", {"users": users})


6. 配置URL路由
(1)编辑urls.py
在myapp/urls.py文件中定义应用的路由:

from django.urls import path
from . import viewsurlpatterns = [path("", views.home, name="home"),
]
在项目的urls.py文件中包含应用的路由:
Python复制from django.contrib import admin
from django.urls import path, includeurlpatterns = [path("admin/", admin.site.urls),path("", include("myapp.urls")),
]


7. 创建模板(Template)
(1)创建模板文件
在myapp/templates目录下创建HTML模板文件(如home.html):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Home</title>
</head>
<body><h1>User List</h1><ul>{% for user in users %}<li>{{ user.username }} - {{ user.email }}</li>{% endfor %}</ul>
</body>
</html>


 

8. 运行开发服务器
在开发阶段,Django自带一个轻量级的开发服务器,方便快速测试和调试。
(1)启动开发服务器
在终端中运行以下命令:

python manage.py runserver


默认情况下,服务器会在http://127.0.0.1:8000运行。
(2)访问网站
打开浏览器,访问http://127.0.0.1:8000,如果一切正常,你将看到网站的首页。
9. 数据库管理
Django自带一个强大的管理后台,方便对数据库进行操作。
(1)创建管理员用户
运行以下命令创建一个管理员用户:

python manage.py createsuperuser


按照提示输入用户名、邮箱和密码。
(2)登录管理后台
访问http://127.0.0.1:8000/admin,使用刚才创建的管理员账号登录。
(3)注册模型到后台
为了让模型出现在管理后台,需要在myapp/admin.py文件中注册它们。例如:

from django.contrib import admin
from .models import Useradmin.site.register(User)


这样,User模型就会出现在管理后台中,你可以通过后台添加、编辑或删除数据。
10. 静态文件和媒体文件
Django将静态文件(如CSS、JavaScript、图片)和媒体文件(用户上传的文件)分开管理。
(1)静态文件
将静态文件放在应用的static目录下,例如myapp/static/css/style.css。
在HTML模板中使用{% static %}模板标签引用静态文件:

<link rel="stylesheet" href="{% static 'css/style.css' %}">


(2)媒体文件
如果你的模型中包含文件字段(如ImageField或FileField),需要配置媒体文件的存储路径。
在settings.py中添加以下配置:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
在项目的urls.py中添加媒体文件的URL配置(仅在开发环境中使用):
Python复制from django.conf import settings
from django.conf.urls.static import staticurlpatterns = [path("admin/", admin.site.urls),path("", include("myapp.urls")),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


用户上传的文件将存储在MEDIA_ROOT指定的目录中,并可以通过MEDIA_URL访问。
总结
第8步:启动Django开发服务器,用于本地开发和测试。
第9步:利用Django的管理后台管理数据库,方便数据的增删改查。
第10步:配置静态文件和媒体文件,确保网站的资源可以正确加载和访问。
这三步是开发过程中的重要环节,帮助你快速测试功能并管理网站的资源。

相关文章:

Django网站搭建流程

使用Django搭建网站是一个系统的过程&#xff0c;涉及从环境搭建到部署上线的多个步骤。以下是详细的流程&#xff1a; 1. 环境搭建 &#xff08;1&#xff09;安装Python Django是基于Python的Web框架&#xff0c;因此需要先安装Python。建议安装Python 3.8及以上版本。 下载地…...

Vue-day2

7.Vue的生命周期 mounted函数&#xff1a;在页面加载完毕时&#xff0c;发送异步请求&#xff0c;加载数据&#xff0c;渲染页面 createApp({date(){},methods:{},mounted:function(){console.log(Vue挂载完毕&#xff0c;发送请求获取数据)} }).mount(#{app}) 8.ajax函数库…...

Day44:列表元素的修改

在 Python 中&#xff0c;列表是一种可变的数据结构&#xff0c;意味着我们可以对列表中的元素进行修改。修改列表元素的方式有很多种&#xff0c;包括通过索引修改、切片修改、使用 append() 和 extend() 添加新元素、以及删除元素等。今天&#xff0c;我们将学习如何在列表中…...

在 AMD GPU 上使用 vLLM 的 Triton 推理服务器

Triton Inference Server with vLLM on AMD GPUs — ROCm Blogs 2025年1月8日&#xff0c;作者&#xff1a;Fabricio Flores&#xff0c;Tiffany Mintz&#xff0c;Eliot Li&#xff0c;Yao Liu&#xff0c;Ted Themistokleous&#xff0c;Brian Pickrell&#xff0c;Vish Vadl…...

day7手机拍照装备

对焦对不上&#xff1a;1、光太暗&#xff1b;2、离太近&#xff1b;3、颜色太单一没有区分点 滤镜可以后期P 渐变灰滤镜&#xff1a;均衡色彩&#xff0c;暗的地方亮一些&#xff0c;亮的地方暗一些 中灰滤镜&#xff1a;减少光差 手机支架&#xff1a;最基本70cm即可 手…...

HarmonyOS:创建应用静态快捷方式

一、前言 静态快捷方式是一种在系统中创建的可以快速访问应用程序或特定功能的链接。它通常可以在长按应用图标&#xff0c;以图标和相应的文字出现在应用图标的上方&#xff0c;用户可以迅速启动对应应用程序的组件。使用快捷方式&#xff0c;可以提高效率&#xff0c;节省了查…...

[SUCTF 2018]MultiSQL1

进去题目页面如下 发现可能注入点只有登录和注册,那么我们先注册一个用户&#xff0c;发现跳转到了/user/user.php&#xff0c; 查看用户信息,发现有传参/user/user.php?id1 用?id1 and 11,和?id1 and 12,判断为数字型注入 原本以为是简单的数字型注入&#xff0c;看到大…...

kafka-部署安装

一. 简述&#xff1a; Kafka 是一个分布式流处理平台&#xff0c;常用于构建实时数据管道和流应用。 二. 安装部署&#xff1a; 1. 依赖&#xff1a; a). Java&#xff1a;Kafka 需要 Java 8 或更高版本。 b). zookeeper&#xff1a; #tar fxvz zookeeper-3.7.0.tar.gz #…...

VUE3 使用路由守卫函数实现类型服务器端中间件效果

vue3中的router组件&#xff0c;有一个函数 router.beforeEach&#xff0c;可以实现请求中间件效果 使用方法如下&#xff1a; 前提已经在Vue3 项目中引入router组件&#xff0c;在router.js文件中加入router.beforeEach //路由守卫函数&#xff0c;类似于中间件session效果…...

|Python新手小白中级教程|第二十九章:面向对象编程(Python类的拓展延伸与10道实操题目)(5)

文章目录 前言1.类变量与实例变量2.静态方法和类方法1.静态方法2.类方法 3.实操使用1. 创建一个名为Person的类&#xff0c;包含属性name和age&#xff0c;并且有一个方法introduce()用于介绍自己的名字和年龄。2. 创建一个名为Circle的类&#xff0c;包含属性radius和color&am…...

项目概述与规划 (I)

项目概述与规划 (I) JavaScript的学习已经接近尾声了&#xff0c;最后我们将通过一个项目来讲我们在JavaScript中学习到的所有都在这个项目中展现出来&#xff0c;这个项目的DEMO来自于Udemy中的课程&#xff0c;作者是Jonas Schmedtmann&#xff1b; 项目规划 项目步骤 用户…...

mysql学习笔记-数据库的设计规范

1、范式简介 在关系型数据库中&#xff0c;关于数据表设计的基本原则、规则就称为范式。 1.1键和相关属性的概念 超键:能唯一标识元组的属性集叫做超键。 候选键:如果超键不包括多余的属性&#xff0c;那么这个超键就是候选键 主键:用户可以从候选键中选择一个作为主键。 外…...

实现B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…...

论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(四)

Understanding Diffusion Models: A Unified Perspective&#xff08;四&#xff09; 文章概括学习扩散噪声参数&#xff08;Learning Diffusion Noise Parameters&#xff09;三种等效的解释&#xff08;Three Equivalent Interpretations&#xff09; 文章概括 引用&#xf…...

C# 中 default 使用详解

总目录 前言 在C#中&#xff0c;default 关键字用于表示类型默认值。它可以根据上下文推断出适用的类型&#xff0c;并返回该类型的默认值。随着C#版本的发展&#xff0c;default 的用法也变得更加丰富和灵活。本文将详细介绍 default 在不同场景下的使用方法及其最佳实践。 一…...

Day21-【软考】短文,计算机网络开篇,OSI七层模型有哪些协议?

文章目录 OSI七层模型有哪些&#xff1f;有哪些协议簇&#xff1f;TCP/IP协议簇中的TCP协议三次握手是怎样的&#xff1f;基于UDP的DHCP协议是什么情况&#xff1f;基于UDP的DNS协议是什么情况&#xff1f; OSI七层模型有哪些&#xff1f; 题目会考广播域 有哪些协议簇&#x…...

电力晶体管(GTR)全控性器件

电力晶体管&#xff08;Giant Transistor&#xff0c;GTR&#xff09;是一种全控性器件&#xff0c;以下是关于它的详细介绍&#xff1a;&#xff08;模电普通晶体管三极管进行对比学习&#xff09; 基本概念 GTR是一种耐高电压、大电流的双极结型晶体管&#xff08;BJT&am…...

C语言------指针从入门到精通

第一部分: 前言: 本篇文章主要划分为两大部分: 第一部分适合零基础的同学,主要学习了解指针的概念&#xff0c;对指针大概有个概念。如果你已经有基础,即可跳过第一部分的内容。 第二部分主要是分解指针的实现逻辑,通过19个例子,再结合代码公式把不同类型的指针及指针的应用详细…...

网络安全大模型和人工智能场景及应用理解

本文通过通俗易懂的方式的进行阐述&#xff0c;大家读完觉得有帮助记得及时关注和点赞&#xff01;&#xff01;&#xff01; 一、网络安全大模型的概述 网络安全大模型是一种用于识别和应对各种网络安全威胁的模型。它通过分析网络数据包、网络行为等信息&#xff0c;识别潜在…...

大模型正确调用方式

1、ollama 安装 curl -fsSL https://ollama.com/install.sh | sh 如果是AutoDl服务器&#xff0c;可以开启学术加速。 source /etc/network_turbo 本次使用腾讯云Cloud Studio&#xff0c;所以已经安装好了 Ollama 2、启动 ollama run 模型的名字 ollama serve # 开启服务 olla…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前&#xff0c;首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例&#xff0c;用_OBJECT_TYPE这个结构来解析它&#xff0c;0x80处就是今天要介绍的回调链表&#xff0c;但是先不着急&#xff0c;先把目光…...