Django入门 整体流程跑通

Django学习笔记

一、Django整体流程跑通

1.1安装

pip install django     //安装
import django          //在python环境中导入django
django.get_version()  //获取版本号,如果能获取到,说明安装成功

Django目录结构

Python310-Scripts\django-admin.exe    //项目管理工具,创建django项目中的文件和文件夹-lib\site-packages\django    //框架源码

1.2 django常用命令

1)创建一个新项目

语法:

先进入某个指定的目录,项目文件将被创建在那个目录下。

django-admin startproject  <project_name>

示例:

django-admin startproject helloWorld    //创建一个名为helloWorld的新项目

2)创建一个app

语法:

django-admin startapp <app_name>

示例:

django-admin startapp app1              //新建一个名为app1的app

注意:

一个project下可以有多个app

每个app可以有独立的表结构、函数、HTML模板、css

3)在settings.py文件中注册应用名称

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app1.apps.App1Config'              #添加应用名称(appName.apps.className)
]

4)配置模版路径(settings.py文件)

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR,'templates')],     #配置模版路径'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]

5)配置数据库(settings.py文件)

默认为sqlite,可以配置并更改成mysql

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'helloWorld','USER': 'root','PASSWORD': 'xxxxxx','HOST': '123.60.62.193','PORT': '3306',}
}

6)配置允许所有主机访问(settings.py文件)

ALLOWED_HOSTS = ['*']

7)在init.py中添加以下代码,用于django的orm模型操作mysql数据库

import pymysql
pymysql.install_as_MySQLdb()

8)启动django

pyhton manage.py runserver      #只允许本机访问
 python manage.py runserver 0.0.0.0:8000   #允许所有主机访问,并配置端口号为8000

9)模型的迁移

将数据自带表迁移到数据库中

python manage.py makemigrations    #生成迁移文件 
python manage.py migrate           #进行迁移

迁移完后,在数据库中应该可以看到一些django的表

注意:

如果不执行迁移,那么在使用的时候,有些数据需要存到自带的表中,那么就会报错。

10)清空数据

 python manage.py flush

11)创建超级管理员

python manage.py createsuperuser

用户信息在auth_user表中

这时使用IP:8000/admin登入后台,就可以使用创建的超级管理员登入了

12)修改管理员密码

python manage.py changepasswd <username>

13)django项目环境终端

 python manage.py shell   #进入终端exit()                   #退出终端

14)数据库命令行

 python manage.py dbshell

1.3项目目录介绍

projectname|-manage.py     		 #项目的管理,启动项目、创建APP、数据管理|-projectname|-asgi.py   		 #接收网络请求|-wsgi.py   	     #接收网络请求|-urls.py   		 #url和函数的对应关系|-settings.py   	 #项目配置|-appname|-apps.py            #应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据 |-test.py            #测试代码文件|-admin.py           #管理站点模型的声明文件,默认为空|-migrations         #自动生成,生成迁移文件的|-views.py           #定义URL相关函数(路由规则)|-models.py          #添加模型层数据类文件,可用于操作数据库

1.4配置url和函数的对应关系

from django.contrib import admin         #默认自动创建
from django.urls import path             #默认自动创建
from app1 import views                   #引入views,就是app目录下的views.py
urlpatterns = [#path('admin/', admin.site.urls),    #默认自动创建,先注释掉path('index/',views.index),          #创建对应关系,参数1为url路径,参数2为views中的函数
]

1.5配置views函数

from django.shortcuts import render         #默认自动创建
from django.shortcuts import HttpResponse   #引入HttpResponse模块# Create your views here.
def index(request):                         #定义一个名为index的函数,对应上一小节return HttpResponse('Hello World')      #返回字符串

1.6访问项目

经过以上配置,就可以通过浏览器看到Hello World字样了。

http://192.168.0.25:8000/index/             #这个index就是1.4中配置的那个url路径

在这里插入图片描述

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

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

相关文章

nginx代理参数proxy_pass

proxy_pass参数用于配置反向代理&#xff0c;指定客户端请求被转发到后端服务器&#xff0c;后端地址可以是域名、ip端口URI 代理后端报错提示本地找不到CSS文件、JavaScript文件或图片 例如&#xff1a; nginx &#xff1a;10.1.74.109 后端服务&#xff1a;http://10.1.74.…

华为北向网管NCE开发教程(3)CORBA协议开发

华为北向网管NCE开发教程&#xff08;1&#xff09;闭坑选接口协议 华为北向网管NCE开发教程&#xff08;2&#xff09;REST接口开发 华为北向网管NCE开发教程&#xff08;3&#xff09;CORBA协议开发 华为北向网管NCE开发教程&#xff08;4&#xff09;&#xff08;源代码接口…

嵌入式学习第二十六天!(网络传输:TCP编程、HTTP协议)

TCP通信&#xff1a; 1. TCP发端&#xff1a; socket -> connect -> send -> recv -> close 2. TCP收端&#xff1a; socket -> bind -> listen -> accept -> recv -> send -> close 3. TCP需要用到的函数&#xff1a; 1. co…

【脚本开发】脚本的启动与暂停

文章目录 需求简单实现测试代码 更新&#xff1a;添加两个方法 需求 基于pynput库开发一个脚本。 要能够用按键控制它启动&#xff0c;暂停。 简单实现 key参数&#xff0c;代表了用什么键控制。 state属性&#xff0c;代表了当前的开关状态。 listener属性&#xff0c;是…

3.基础算法之搜索与图论

1.深度优先搜索 深度优先搜索&#xff08;DFS&#xff0c;Depth First Search&#xff09;是一种用于遍历或搜索树或图的算法。它将当前状态按照一定的规则顺序&#xff0c;先拓展一步得到一个新状态&#xff0c;再对这个新状态递归拓展下去。如果无法拓展&#xff0c;则退回…

STM32 通过Modbus协议更改内部Flash(模仿EEPROM)的运行参数

main.c测试 uint8_t uart1RxBuf[64]{0};uint8_t Adc1ConvEnd0; uint8_t Adc2ConvEnd0;int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initial…

【C语言刷题】——初识位操作符

【C语言刷题】——初识位操作符 位操作符介绍题一、 不创建临时变量&#xff08;第三个变量&#xff09;&#xff0c;实现两个数的交换&#xff08;1&#xff09;法一&#xff08;2&#xff09;法二 题二、 求一个数存储在内存中的二进制中“一”的个数&#xff08;1&#xff0…

【算法】Hash存储——开放寻址法

模拟散列表 维护一个集合&#xff0c;支持如下几种操作&#xff1a; I x&#xff0c;插入一个整数 x&#xff1b; Q x&#xff0c;询问整数 x是否在集合中出现过&#xff1b; 现在要进行 N次操作&#xff0c;对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N&am…

C++ 之LeetCode刷题记录(三十九)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用…

国产软件不背黑锅:4款强大又实用的电脑软件,用了舍不得卸载

虽然一些国产软件常被误解为“流氓、付费、广告多”&#xff0c;但实际上&#xff0c;仍有许多小众却非常优质、良心的软件被大家所忽视。 1、电脑图像工具箱 这款电脑图像工具箱堪称图片处理的瑞士军刀&#xff0c;它完全免费且无任何广告干扰。这款工具箱集成了超过一百种工…

植物病害识别:YOLO水稻病害识别数据集(11000多张,yolo标注)

YOLO水稻病害识别数据集&#xff0c;包含叶斑病&#xff0c;褐斑病&#xff0c;细菌性枯萎病&#xff0c;东格鲁病毒病4个常见病害类别&#xff0c;共11000多张图像&#xff0c;yolo标注完整&#xff0c;可直接训练。 适用于CV项目&#xff0c;毕设&#xff0c;科研&#xff0c…

物联网在智慧城市建设中的关键作用:连接、感知、智能响应

一、引言 随着信息技术的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;技术已经渗透到我们生活的方方面面&#xff0c;特别是在智慧城市建设中发挥着至关重要的作用。智慧城市是指通过运用先进的信息和通信技术&#xff0c;实现城市基础设施、公共服务、交通管理、环…

SpringSecurity原理简述

文章目录 0. 简介1. 快速入门1.1 准备工作1.2 引入SpringSecurity 2. 认证2.1 登陆校验流程2.2 原理初探2.2.1 SpringSecurity完整流程2.2.2 认证流程详解 2.3 解决问题2.3.1 思路分析2.3.2 准备工作2.3.3 实现2.3.3.1 数据库校验用户准备工作核心代码实现 2.3.3.2 密码加密存储…

微信小程序onLoad加载定义好的函数

这里小程序开发中容易犯的错误-1 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数&#xff0c;代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再尝试运行&#x…

项目管理工具及模板(甘特图、OKR周报、任务管理、头脑风暴等)

项目管理常用模板大全&#xff1a; 1. 项目组OKR周报 2. 项目组传统周报工作法 3. 项目甘特图 4. 团队名单 5. 招聘跟进表 6. 出勤统计 7. 年度工作日历 8. 项目工作年计划 9. 版本排期 10. 项目组任务管理 11. 项目规划模板 12. 产品分析报告 13. 头脑风暴 信息化项目建设全套…

uniapp开发DAPP钱包应用(一) 环境搭建 Vue+ MetaMask + ABI.json

上几节我们讲了如何通过Java后端完成链上交易、信息查询、以及如何使用web3插件实现开发自测。 这一节&#xff0c;我们来说说前端DAPP的开发实现。 1. MeteMask &#x1fa9c;Java对接&#xff08;BSC&#xff09;币安链 | BNB与BEP20的开发实践&#xff08;三&#xff09;水…

做一下笔记 CXDB5CCAM-MK 与 CXDBCCAM-ML 的区别

1. CXDB5CCAM-MK 的简介 2. CXDBCCAM-ML 的简介 3. 这个两个器件的区别 最基本可见的区别是 &#xff1a; 传输速度的不同。 4. 资料在资源里面

Rust入门:Rust如何调用C静态库的函数

关于Rust调用C&#xff0c;因为接口比较复杂&#xff0c;貌似Rust不打算支持。而对于C函数&#xff0c;则相对支持较好。 如果要研究C/Rust相互关系的话&#xff0c;可以参考&#xff1a; https://docs.rs/cxx/latest/cxx/ Rust ❤️ C 这里只对调用C静态库做一个最简短的介…

uniapp 解决请求出现 /sockjs-node/info?t=问题

1. uniapp请求出现 /sockjs-node/info?t问题 1.1. 问题 uniapp项目老是出现 http://192.168.2.106:8080/sockjs-node/info?t1709704280949 1.1. sockjs-node介绍 sockjs-node 是一个JavaScript库&#xff0c;提供跨浏览器JavaScript的API&#xff0c;创建了一个低延迟、全…

(golang)切片何时会创建新切片或影响原切片

什么时候切片操作会影响原切片 // 1.切片后没有触发slice的扩容机制时 什么时候对切片操作会创建新切片不影响原切片 // 2.对切片头元素进行截取的时候 // 3.当使用append时&#xff0c;len > cap则会触发扩容机制 前置&#xff1a; //slice结构体 type SliceHeader struct…