当前位置: 首页 > news >正文

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路径

在这里插入图片描述

相关文章:

  • ULTRAL SCALE FPGA TRANSCEIVER速率
  • python使用multiprocessing
  • Spring学习 基础(三)MVC
  • 2024/3/10周报
  • 如何清除keep-alive缓存
  • mongodb的备份与恢复
  • C#与欧姆龙PLC实现CIP通讯
  • Draco点云压缩测试
  • scikit-learn保姆级入门教程
  • Qt 定时器事件
  • Python中,括号内部的for循环(列表推导式)
  • Kubernetes 安全秘籍:5 个你必须知道的知识点
  • 【操作系统学习笔记】文件管理1.9
  • ROS2动作通信的实现
  • 电子数字灯LED管变化数量
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Apache的80端口被占用以及访问时报错403
  • Computed property XXX was assigned to but it has no setter
  • ES6 ...操作符
  • node 版本过低
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • REST架构的思考
  • tab.js分享及浏览器兼容性问题汇总
  • tensorflow学习笔记3——MNIST应用篇
  • vue:响应原理
  • vue-router的history模式发布配置
  • 产品三维模型在线预览
  • 聚簇索引和非聚簇索引
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 为视图添加丝滑的水波纹
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​MySQL主从复制一致性检测
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #pragma multi_compile #pragma shader_feature
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #考研#计算机文化知识1(局域网及网络互联)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (力扣题库)跳跃游戏II(c++)
  • (五)IO流之ByteArrayInput/OutputStream
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)拼包函数及网络封包的异常处理(含代码)
  • *Django中的Ajax 纯js的书写样式1
  • .java 9 找不到符号_java找不到符号
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET上SQLite的连接
  • ::before和::after 常见的用法
  • @Autowired标签与 @Resource标签 的区别