Django开发:计划表网页全流程

Hello , 我是"小恒不会java"。考虑到django官网案例的代码对新手不太友好
那我将一个案例从思路到代码都简单完整的摆出来,
使用过django的各位可cv即可,不会django跟着走操作就能跑起来

项目展示

本案例在GitHub已经开源,可在后台自行设置计划

https://github.com/lmliheng/plan

在这里插入图片描述
在这里插入图片描述

分析

建立模型:计划Plan,该表内有天数(标题)和具体实例
前端模板:我选取了GitHub上某开源的计划表前端项目,原生js
创建视图函数:通过路由映射至模板文件

上手

基本环境

python3.5以上,django5以上,集成开发环境(我推荐vscode)

创建django项目(根目录)
django-admin startproject HelloWorld

HelloWorld是根目录名,这是django-admin管理工具创建项目
此时目录结构如下
───HelloWorld/
│ ├───manage.py
│ ├───HelloWorld/
│ │ │ ├───asgi.py
│ │ │ ├───settings.py
│ │ │ ├───urls.py
│ │ │ ├───wsgi.py
│ │ │ ├───__init__.py
具体知识还是得看官方文档,我在此只是带头写项目

创建应用
python manage.py startapp APP名

此时目录结构
├───HelloWorld/
│ ├───manage.py
│ ├───codeplan/
│ │ ├───admin.py
│ │ ├───apps.py
│ │ ├───models.py
│ │ ├───tests.py
│ │ ├───views.py
│ │ ├───__init__.py
│ │ ├───migrations/
│ │ │ ├───__init__.py
│ ├───HelloWorld/
│ │ ├───asgi.py
│ │ ├───settings.py
│ │ ├───urls.py
│ │ ├───wsgi.py
│ │ ├───__init__.py
│ │ ├───__pycache__/
│ │ │ ├───settings.cpython-311.pyc
│ │ │ ├───__init__.cpython-311.pyc

设置settings.py

找到HelloWolrd/HelloWorld/settings.py.增加’codeplan’,以及增加static设置,并导入os模块

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'codeplan',
]
import os
STATIC_URL = 'static/'
 #在模板中调用static函数时,会自动帮你在路径前补全'/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

创建模型

在HelloWolrd/codeplan/models.py下创建模型

from django.db import models

# Create your models here.


class Plan(models.Model):
    title = models.CharField(max_length=10)
    one = models.CharField(max_length=20)
    two = models.CharField(max_length=20)
    three = models.CharField(max_length=20)
    four = models.CharField(max_length=20)
    five = models.CharField(max_length=20)
    six = models.CharField(max_length=20)
    seven = models.CharField(max_length=20)
    

    def __str__(self):
        return self.title
书写视图函数

在HelloWolrd/codeplan/views.py下创建模型

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse
from .models import Plan

def index(request):
    plans = Plan.objects.all()
    
    return render(request, 'index.html', {'plans': plans})
路由配置

在HelloWorld/HelloWorld/urls.py下

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('codeplan/', include('codeplan.urls')),
]

在HelloWorld/codeplan下创建urls.py,并写入

from django.urls import path,include
from . import views

app_name = 'codeplan'

urlpatterns = [
    path('', views.index, name='codeplan'),
]
静态资源

在根目录HelloWorld下创建文件夹static

模板文件

在codeplan下创建templates文件夹
在GitHub里面拉取静态资源和模板文件

在这里插入图片描述

跑通项目
迁移数据
python manage.py makemigrations
python manage.py migrate
创建管理员账号,提示在输入密码时不会显示密码,直接输入即可
python manage.py createsuperuser
启动
python manage.py runserver
访问

http://127.0.0.1/admin进入管理员登陆界面
http://127.0.0.1/codeplan进入主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/535889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云HIS医院管理系统源码 SaaS模式 B/S架构 基于云计算技术

一、系统概述 云HIS系统源码是一款满足基层医院各类业务需要的健康云产品。该系统能帮助基层医院完成日常各类业务,提供病患预约挂号支持、收费管理、病患问诊、电子病历、开药发药、住院检查、会员管理、财务管理、统计查询、医生工作站和护士工作站等一系列常规功…

LangChain入门:18.使用ReAct 框架进行生成推理痕迹和任务特定行动来实现更大的协同作用

简介 ReAct对话模型是LangChain框架中的一种重要模型,它可以用于构建智能对话系统。ReAct对话模型的核心思想是使用反应堆(Reactor)来处理对话中的各种情况,从而实现了对复杂对话场景的解构。 在ReAct对话模型中,反应…

【高端电流检测IC储能产品应用方案】耐压28V侧轨的电流检测芯片FP130A 应用于电脑电源,开关电源以及多口快充充电器,户外移动电源,适配器,电池充电器等

电流检测技术常用于高压短路保护、电机控制、DC/DC换流器、系统功耗管理、二次电池的电流管理、蓄电池管理等电流侦测等场景。对于大多数应用而言,都是间接测量电阻两端的跨压差来获取待测电流。 如下面的高端电流检测芯片FP130A,丝印是FC915。电路原理图…

ASP.NET Core 标识(Identity)框架系列(二):使用标识(Identity)框架生成 JWT Token

前言 JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络上以 JSON 对象的形式安全地传输信息。 JWT 通常用于在用户和服务器之间传递身份验证信息,以便在用户进行跨域访问时进行身份验证。 JWT 由…

Docker 学习笔记(三):Centos7 中 Docker 使用,镜像、容器,以及操作等常用命令小结

一、前言 记录时间 [2024-4-7] 前置文章: Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识 Docker学习笔记(二):在Linux中部署Docker&#…

12. Linux中进程间通信

进程间通信(interprocess communication,简称 IPC)指两个进程之间的通信。系统中的每一个进程都有各自的地址空间,并且相互独立、隔离,每个进程都处于自己的地址空间中。所以同一个进程的不同模块(譬如不同的函数)之间进行通信都是很简单的,譬如使用全局变量等。但是,…

MySQL:主键,事件,索引的基础用法(10)

主键 指定某个字段作为主键,这个字段内容无法为空,而且他的内容不能重复作为唯一的标识 主键还有自增和非自增,比如你创建了一个表,你设置了自增,他就会按编号依次自动加一 我创建了一个名为tarro的数据库&#xff…

基于GSP工具箱的NILM算法matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于GSP工具箱的NILM算法matlab仿真。GSP是图形信号处理的缩写,GSP非常适合对未知数据进行分类,尤其是当训练数据非常短时。GSPBox的基本理论是谱图论和…

搜维尔科技:【煤矿安全仿真】煤矿事故预防处置VR系统,矿山顶板灾害,冲击地压灾害等预防演练!

产品概述 煤矿事故预防处置VR系统 系统内容: 事故预防处置VR系统的内容包括:火灾的预防措施、火灾预兆、防灭火系统、火灾案例重现、顶板事故预兆、顶板事故原因、顶板事故案例重现、瓦斯概念及性质、瓦斯的涌出形式、瓦斯预兆、瓦斯爆炸条件及预防措…

GPT中的Transformer架构以及Transformer 中的注意力机制

目录 1 GPT中的Transformer架构 2 transformer中的注意力机制 参考文献: 看了两个比较好的视频,简单做了下笔记。 1 GPT中的Transformer架构 GPT是Generative Pre-trained Transformer单词的缩写,其中transformer是一种特定的神经网络&a…

Harmony鸿蒙南向驱动开发-PIN接口使用

功能简介 PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能:包括管脚推拉方式、管脚推拉强度以及管脚功能。 PIN接口定义了操作PIN管脚的通用方法集合,包括: 获取/释放管脚描述句柄:传…

MATLAB GUI图形化界面设计计算器

MATLAB GUI界面设计教程可以帮助用户创建交互式的图形用户界面,以简化与MATLAB程序的交互过程。以下是一个简化的教程,指导你如何进行MATLAB GUI界面设计: 1. 启动GUIDE或App Designer GUIDE:在MATLAB命令窗口中输入guide命令&a…

微服务demo(四)nacosfeigngateway(2)gatewayspringsercurity

一、思路 1、整体思路 用户通过客户端访问项目时,前端项目会部署在nginx上,加载静态文件时直接从nginx上返回即可。当用户在客户端操作时,需要调用后端的一些服务接口。这些接口会通过Gateway网关,网关进行一定的处理&#xff0…

4.12学习总结·(MySQL学习总结)

1.MySQL对数据库的操作 1.展示所有数据库 show databases; 这种就是将我navicat上的所有数据库调用出来; 2.创建数据库 create database 数据库名; 很明显,我多创建了一个Teacher 的数据库 3.使用某个数据库 use 数据库名 use test1; 切换到test…

WEB漏洞-文件上传之WAF绕过及安全修复

#上传参数解析: Content-disposition:一般不可更改 Name:表单参数值,不能更改(更改需要达到统一) Filename:文件名,可以更改 Content-type:文件MIME,视情…

Linux 函数学习 poll

1、Linux poll 函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout); fds&#xff1a; 需要轮询的fd集合 nfds&#xff1a;需要轮询的fds数量 timeout&#xff1a;超时时间 返回值&#xff1a;0 超时&#xff0c;<0 发生异常&#xff0c;> 0 存在数据变化 …

Unity单个物体绑定多个相机在轨道上移动,录制不同角度视频

环境搭建 下载Cinemachine插件安装 打开包管理器 下载cinemachine插件 创建轨道 使用dolly track 创建轨道 右侧可以删减关键点&#xff0c;注意调整y坐标 创建cart 把前面的轨道拖到path中&#xff0c;注意这里的speed要设定不为0才会动 设置VItual Camera 根据需…

分布式锁-redission可重入锁原理

5.3 分布式锁-redission可重入锁原理 在Lock锁中&#xff0c;他是借助于底层的一个voaltile的一个state变量来记录重入的状态的&#xff0c;比如当前没有人持有这把锁&#xff0c;那么state0&#xff0c;假如有人持有这把锁&#xff0c;那么state1&#xff0c;如果持有这把锁的…

ubuntu 20.04 更新显卡驱动

1. 问题描述 $ watch -n 1 nvidia-smi画面不动 而且运行 pytorch 代码时出现问题&#xff1a; UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 11070). Please update your GPU driver by downloading and installing a new…

《web应用技术》第三次课后练习

实验目的&#xff1a; 1、springboot入门程序撰写并启动 2、使用postman练习参数的获取。 参考&#xff1a;Day04-10. Web入门-SpringBootWeb-快速入门_哔哩哔哩_bilibili