django4.2 day1Django快速入门

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 18sex = 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.mzph.cn/news/18886.shtml

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

相关文章

每日一题(822. 翻转卡片游戏)-集合set

题目 822. 翻转卡片游戏 题解思路 简述为:找到桌面卡片中 不重复的最小值,卡片可以来回反转 如果 卡片前面后面的数字相同 则抛弃不用在剩下的卡片中 找到最小值(前后可以反转 卡片不分前后) 代码 C class Solution { pub…

Spring Boot Starter 剖析与实践 | 京东云技术团队

引言 对于 Java 开发人员来说,Spring 框架几乎是必不可少的。它是一个广泛用于开发企业应用程序的开源轻量级框架。近几年,Spring Boot 在传统 Spring 框架的基础上应运而生,不仅提供了 Spring 的全部功能,还使开发人员更加便捷地…

SpringSecurity自定义认证

Step 1: 创建自定义UserDetails类 自定义一个实现UserDetails接口的类,用于表示用户信息。您可以在这个类中添加自己需要的属性和方法来存储用户信息。 public class CustomUserDetails implements UserDetails {private String email;private boolean enabled;pri…

Redis 简介

文章目录 Redis 简介 Redis 简介 Redis(Remote Dictionary Server),远程词典服务器,基于 C/S 架构,是一个基于内存的键值型 NoSQL 数据库,开源,遵守 BSD 协议,Redis 由 C语言 实现。…

JS之new Date(‘yyyy-MM-dd‘)多8小时问题

new Date(‘yyyy-MM-dd’)多8小时问题 原因 //会多8小时的转化 new Date("2023-08-02") //不会多8小时的转化 new Date("2023-8-2")因为月和天为个位数时前面带有0,这时会当你处于格林尼治国际标准时的时区(0时区)而你…

线上服务出现异常,获取链接超时wait millis 60 000, active 0, maxActive 400, creating 1

背景 最近线上服务出现出现异常,导致整个服务数据库不可用,查看报错信息为:org.springframework.jdbc.CannotGetJdbcConnectionException:wait millis 60 000, active 0, maxActive 400, creating 1" druid版本&#xff1a…

P4145 上帝造题的七分钟 2 / 花神游历各国

上帝造题的七分钟 2 / 花神游历各国 题目背景 XLk 觉得《上帝造题的七分钟》不太过瘾,于是有了第二部。 题目描述 "第一分钟,X 说,要有数列,于是便给定了一个正整数数列。 第二分钟,L 说,要能修改…

《向量数据库指南》——腾讯云向量数据库Tencent Cloud VectorDB产品特性,架构和应用场景

腾讯云向量数据库(Tencent Cloud VectorDB)是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据。该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不仅能为大模型提…

前端Vue自定义精美商品分类组件category 可用于电商应用分类页面

随着技术的不断发展,传统的开发方式使得系统的复杂度越来越高。在传统开发过程中,一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改,造成牵一发而动全身的情况。为了解决这个问题,我们采用了组件化的开发模式。通过组…

MySQL踩坑之sql_mode的用法

目录 定义 报错重现 ​编辑 原因分析 sql_mode值说明 查看当前sql_mode 设置sql_mode 定义 什么是sql_mode?玩了这么久的MySQL语句࿰

SpringBoot整合Zookeeper

引入Jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>s…

JAVA开发工具-maven的安装与配置(最新最详细教程)

引言 Maven项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具 软件。 Maven 除了以程序构建能力为特色之外&#xff0c;还提供高级项目管理工具。由于 Maven 的缺省构建规则有较 高的可重用性&#xff0c;所以常常用两…

模电专题-MOS管的放大电路分析

在实际应用中&#xff0c;我们经常会使用到功率MOS&#xff0c;这时通常不会将它当成一个开关使用&#xff0c;而是当成一个放大器来使用&#xff0c;那这就需要让其工作在放大状态。 参考下图中的mos管的特性曲线&#xff0c;右图中的输出特性曲线中有一根红色的分界线&#x…

C# 进程

C# 进程 进程的命名空间是&#xff1a; using System.Diagnostics;1.获取当前计算机正在运行所有的进程 Process[] processes Process.GetProcesses(); for (int i 0; i < processes.Length; i) {Console.WriteLine(processes[i]); } Console.ReadKey();2.通过进程打开…

竞速榜实时离线对数方案演进介绍 | 京东云技术团队

一、背景 竞速榜是大促期间各采销群提供的基于京东实时销售数据的排行榜&#xff0c;同样应对大促流量洪峰场景&#xff0c;通过榜单撬动品牌在京东增加资源投入。竞速榜基于用户配置规则进行实时数据计算&#xff0c;榜单排名在大促期间实时变化&#xff0c;相关排名数据在微…

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板2

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

roop 视频换脸

roop: one click face swap. 只用一张人脸图片&#xff0c;就能完成视频换脸。 项目地址&#xff1a; https://github.com/s0md3v/roopColab 部署&#xff1a; https://github.com/dream80/roop_colab 本文是本地部署的实践记录。 环境基础 OS: Ubuntu 22.04.2 LTSKernel: 5…

操作系统专栏2-文件系统from小林coding

文件系统 文件系统构成虚拟文件系统文件的使用文件的存储连续存储非连续空间存放方式链表方式索引方式 Linux文件的实现方式 空闲分区的管理文件系统结构目录的存储软链接和硬链接 文件系统构成 Linux的设计哲学有一点很重要:一切皆文件,不仅仅是普通的文件和目录,就连块设备,…

程序员面试金典17.*

文章目录 17.01 不用加号的加法17.04 消失的数字17.05字母与数字17.06 2出现的次数17.07 婴儿名字17.08 马戏团人塔17.09 第k个数17.10 主要元素17.11 单词距离17.12 BiNode17.13 恢复空格&#xff08;未做&#xff0c;字典树dp&#xff09;17.14 最小K个数17.15 最长单词17.16…

Golang进阶学习

Golang进阶学习 视频地址&#xff1a;https://www.bilibili.com/video/BV1Pg41187AS?p35 1、包 1.1、包的引入 使用包的原因&#xff1a; 我们不可能把所有函数放在同一个源文件中&#xff0c;可以分门别类的放在不同的文件中 解决同名问题&#xff0c;同一个文件中不可以…