django4.2 day1Django快速入门

news2024/11/17 6:00:47

1、创建虚拟环境

  • 打开cmd
  • 安装virtualenv  pip install virtualenvwrapper-win
  • workon 查看虚拟环境
  • mkvirtualenv  创建新的虚拟环境
  • 删除虚拟环境 rmvirtualenv 
  • 进入虚拟环境 workon env

 2、创建django虚拟环境并安装django

  • 创建虚拟环境mkvirtualenv django4env
  • 进入虚拟环境
  • 安装django  pip install django==4.2 -i https://pypi.douban.com/simple
  • 测试一下是否安装成功pip show django
  • 选择解释器C:\Users\{用户}\Envs\django4env\Scripts\python.exe

 3、创建一个Django项目

  • 方式一:进入到指定要存放项目的目录,执行 django-admin startproject HelloDjango 来创建一个名字为HelloDjango的工程
  • 方式二:使用pyvharm专业版创建Django项目
    创建项目后,默认的目录结构:
    manage.py:
    ·是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完成
    HelloDjango/ init .py:
    告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会用到
    HelloDjango/settings.py:
    Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等
    HelloDjango/urls.py:
    ·维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应
    HelloDjango/wsgi.py:
    全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间
    的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。
    HelloDjango/asgi.py:
    定义ASGI的接口信息,和WSGI类似,在3.以后新增ASGI,相比WSGI,ASGI实现了异步处理,用于启动异步通
    信服务,比如:实现在线聊天等异步通信功能。(类似Tornado异步框架)

    4、测试服务器的启动

         python manage.py runserver [ip:port]

可以直接进行服务运行默认执行起来的端口是8000
也可以自己指定ip和端口:
1.监听机器所有可用ip (电脑可能有多个内网ip或多个外网ip):
python manage.py runserver 0.0.0.0:8000
2.同时在settings.py中将
ALLOWED HOSTS=*'1
3,在其他局域网电脑上可以通过在浏览器输入 Django项目所在电脑的 IP:8000 来访问

 

 5、数据迁移

迁移:将模型映射到数据库的过程

生成迁移文件:python manage.py makemigrations

执行迁移:python manage.py migrate

 6、创建应用

python manage.py startapp App

创建名称为App的应用

使用应用前需要将应用配置到项目中,在settings.py中将应用加入到INSTALLED_APPS选项中。

应用目录介绍:
init·py:
其中暂无内容,使得app成为一个包
admin.py:
管理站点模型的声明文件,默认为空
apps.py:
应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
models.py:
添加模型层数据类文件
views.py:
定义URL相应函数
migrations包:
自动生成,生成迁移文件的
tests.py:
测试代码文件

7、基本视图

#首先我们在views.py中建立一个路由响应函数
from django.http import HttpResponse
def welcome(request):
return HttpResponse('HelloDjango');
#接着我们在ur1s中进行注册
#1.直接访问视图
path(r'hello/,hello, name='hello')
# 2导入App中的子路由urls.py文件
path('app/',include(App.urls'))
#3.使用命名空间
path('app/',include(('App.urls','App'),namespace='App'))

#子路由写法如下:
urlpatterns =[
#django1.8,2.0正则表达式写法: 不再使用,不推荐
# ur1(r'^index/$',index),
# Djangov2.0,v3.0,v4.0写法: 常用
path(r'hello/',hello, name='hello'),
]

8、基本模板 

模板实际上就是我们用HTML写好的页面
创建模板文件夹templates,
在模板文件夹中创建模板文件
在views中去加载渲染模板,使用render函数: return render(request,'xxx')

 9、定义模型

在models.py中引入models

from django.db import models

创建自己的模型类,但切记要继承自 models.Model
案例驱动:使用模型定义班级,并在模板上显示班级列表

# 班级table : grade
# columns:
    班级名称    - name
    成立时间    - date
    女生个数    - girlnum
    男生个数    - boynum
    是否删除    - is_delete
from django.db import models

# Create your models here.

#模型  《==》表结构
# 类属性 《==》表字段
# 对象 《==》表的一行记录
# 用户名称 - name
# 年龄 - age
# 性别 - sex
# 是否删除 - is_delete
class UserModel(models.Model):
    name = models.CharField(max_length=30)  #用户名称name varchar(30)
    age = models.IntegerField(default=18)  #年龄age int defalut 18
    sex = models.CharField(max_length=20)  #性别sex varchar(20)
    is_delete = models.BooleanField(default=False)

数据迁移

10、Admin后台管理系统

在admin.py中将model加入后台管理:

        admin.site.register(Grade)

from django.contrib import admin
from user.models import *

#后台管理系统的使用
# 1、在这里注册对应的模型
admin.site.register(UserModel)
# 2、创建超级管理员账号密码
# python manage.py createsuperuser
# 3、根路由urls.py添加    path("admin/", admin.site.urls),
# 4、访问后台管理系统
# http://127.0.0.1:8000/admin/

创建超级用户:python manage.py createsuperuser

访问admin后台:http://127.0.0.1:8000/admin/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mycat-Balance使用指南

MyCAT Balance是一个Java NIO的高性能负载均衡器,可以替代普通的硬件的交换机或其LVS类似的复杂机制,实现MyCAT集群的负载均衡。 MyCAT Balance的配置文件在conf目录下,frontend-conf.为前端配置,包括绑定的端口等,js…

牛客网Verilog刷题——VL45

牛客网Verilog刷题——VL45 题目解析答案 题目 请根据题目中给出的双口RAM代码和接口描述,实现异步FIFO,要求FIFO位宽和深度参数化可配置。电路的接口如下图所示。 双口RAM端口说明: 异步FIFO端口说明: 双口RAM代码如下&#xff0…

第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面

文章目录 第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面使用 HL7 消息查看器页面选择选项解析消息 第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面 使用 HL7 消息查看器页面 为 HL7 提供了消息查看器页面。可以使用此页面显示、转换和导出 HL7 消息&#xff0…

【力扣每日一题】2023.7.31 重排链表

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们一个链表,让我们按照题目要求原地修改重排链表。 那么具体怎么个重排法呢,题目给出了一串式子,其实就是把链表分为前后两段,然后在前半段的节…

【UDS诊断】:学习记录

学习记录 诊断分层诊断命令诊断理解UDS的寻址模式UDS的服务类型 参考文件 诊断分层 (上述图片来源于:ISO 14229-1-2013) UDS包含了ISO 14229下属的7个子协议 诊断命令 UDS的请求命令有4种构成方式: SIDSIDSF(Sub-fu…

开源项目audioFlux: 针对音频领域的深度学习工具库

audioFlux是一个Python和C实现的库,提供音频领域系统、全面、多维度的特征提取与组合,结合各种深度学习网络模型,进行音频领域的业务研发,下面从时频变换、频谱重排、倒谱系数、解卷积、谱特征、音乐信息检索六个方面简单阐述其相…

当 Spark 任务出现数据倾斜的问题时该如何处理呢?

前言 最近一位数仓同学问我,当 Spark 任务出现数据倾斜的问题时该如何处理呢?那么今天就来讲一下遇到了数据倾斜问题时处理的方式方法。 1)数据倾斜的定义 Spark 中的数据倾斜问题主要指 shuffle 过程中出现的数据倾斜问题,是由于不同的 key 对应的数据量不同导致的不同t…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 27 日论文合集)

文章目录 一、检测相关(6篇)1.1 Memory-Efficient Graph Convolutional Networks for Object Classification and Detection with Event Cameras1.2 PNT-Edge: Towards Robust Edge Detection with Noisy Labels by Learning Pixel-level Noise Transitions1.3 Controllable Gu…

C/C++程序的翻译与执行

🚀write in front🚀 📜所属专栏:> c语言学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

(4)将固件加载到已有ArduPilot固件的主板上

文章目录 前言 4.1 将自动驾驶仪连接到电脑 4.2 选择COM端口 4.3 安装固件 4.4 使用测试版和开发版 前言 这些说明将告诉你如何将最新的固件下载到已经安装了 ArduPilot 固件的自动驾驶仪硬件上。这个过程将使用 Mission Planner 地面控制站。请参阅将固件加载到没有 Ard…

AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Vue3+Vue2表单点击加号实现多选效果(以逗号分割传递后端参数,及数据回显处理)

示图如下: 一、Vue3举例 嵌套在form表单,利用elment-ui行布局,将输入表单填充至内容区域<el-row type="flex" v-for="(domain, index) in dataForm.dataValue" :key&#

力扣 316. 去除重复字母 C++

目录 题目要求 思路 力扣提交AC代码 C代码 题目要求 删去一些重复元素保持原有顺序使字典序最小 思路 遍历一个字符串 并维护一个栈如果当前字符已经再栈内就直接跳过&#xff08;具体见程序&#xff09;当 栈顶元素 > 当前元素&#xff0c;那么将栈顶出栈&#xff0…

【利诱和强制分享下载】规则修改指引

代码审核环节&#xff0c;将会对小程序运营的内容进行核实是否存在阻断功能&#xff0c;损害用户体验。 常见利诱诱导类型&#xff1a; 1、利诱下载APP 小程序内出现不断弹窗、频繁提示诱导用户下载APP&#xff0c;强制用户必须下载APP才能体验完整功能服务。 示例&#xf…

靶机精讲之NYX

主机发现 端口扫描 服务扫描 -sV漏洞脚本扫描 UDP扫描 那些开发那些关闭 脚本扫描 或许有价值.php web渗透 看源码 目录爆破 没有扫到有价值的信息 继续web渗透&#xff0c;访问admin目录 继续目录扫描 sudo gobuster dir -u http://192.168.10.206 -x txt,sql,php,jsp -w…

Learning-Rate-Free Learning by D-Adaptation

考虑无约束凸Lipshcitz优化问题: min ⁡ x ∈ R n f ( x ) . \min_{x\in\mathbb{R}^{n}}f(x). x∈Rnmin​f(x). 最常用的优化方法是子梯度下降(Subgradient descent): x k 1 x k − γ k g k , x_{k1}x_{k}-\gamma_{k}g_{k}, xk1​xk​−γk​gk​, 其中 g k ∈ ∂ f ( x …

芯旺微冲刺IPO,车规级MCU竞争白热化下的“隐忧”凸显

在汽车智能化和电动化发展带来的巨大蓝海市场下&#xff0c;产业链企业迎来了一波IPO小高潮。 日前&#xff0c;上海芯旺微电子技术股份有限公司&#xff08;以下简称“芯旺微”&#xff09;在科创板的上市申请已经被上交所受理&#xff0c;拟募资17亿元&#xff0c;用于投建车…

网络控价与品牌维权的关系

线上平台存在低价链接&#xff0c;品牌要去治理&#xff0c;那就是控价&#xff0c;控价的目的不仅仅是打击低价&#xff0c;其实是为了稳定渠道&#xff0c;只有渠道中的价格可控了&#xff0c;品牌的销量、价值才能最大化&#xff0c;品牌也有更多的精力去拓展渠道&#xff0…

【腾讯云Cloud Studio实战训练营】使用Cloud StudioFlutter完成全平台博客网站的搭建

使用Cloud Studio&Flutter完成全平台博客网站的搭建 文章目录 使用Cloud Studio&Flutter完成全平台博客网站的搭建前言一.Cloud Studio二.应用场景2.1快速启动项目2.2实时调试网页2.3远程访问云服务器 三.登录注册四.工作空间的创建与使用4.1创建工作空间4.1.1填写工作…