当前位置: 首页 > 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…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...