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

在这里插入图片描述

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

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

相关文章

噬菌体展示文库类型与应用-卡梅德生物

噬菌体展示抗体库构建的途径&#xff1a;目前主要有两种&#xff1a;一是有机合成法&#xff0c;二是基因合成法。前者是直接合成含有各种可能序列的短肽&#xff0c;构建至噬菌体载体。基因工程方法是将目的基因构建至载体&#xff0c;与噬菌体的pⅢ外壳蛋白融合表达。 卡梅德…

数据结构——堆的应用 堆排序详解

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

制造业工厂的设备管理系统

对企业来说&#xff0c;时间就是金钱&#xff0c;所有企业都在极力避免因生产延误而导致的金钱损失。在设备保养、设备维护和设备运行方面更是如此。如果工厂的设备因突发故障处于长时间停机状态&#xff0c;但没能被及时解决&#xff0c;工厂所需支付的成本可能就会螺旋式上升…

11、设计模式之享元模式(Flyweight)

一、什么是享元模式 享元模式是一种结构型的设计模式。它的主要目的是通过共享对象来减少系统种对象的数量&#xff0c;其本质就是缓存共享对象&#xff0c;降低内存消耗。 享元模式将需要重复使用的对象分为两个部分&#xff1a;内部状态和外部状态。 内部状态是不会变化的&…

基于java+springboot+mybatis+laiyu实现学科竞赛管理系统

基于javaspringbootmybatislaiyu实现学科竞赛管理系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获…

UI学习 一 可访问性 基础

教程&#xff1a;Accessibility – Material Design 3 需要科学上网&#xff0c;否则图片显示不出来。设计教程没有图片说明&#xff0c;不容易理解。 优化UI方向 清晰可见的元素足够的对比度和尺寸重要性的明确等级一眼就能辨别的关键信息 传达某一事物的相对重要性 将重…

蓝牙系列七:开源蓝牙协议栈BTStack数据处理(Wireshark抓包分析)

继续蓝牙系列的研究。 在上篇博客&#xff0c;通过阅读BTStack的源码&#xff0c;大体了解了其框架&#xff0c;对于任何一个BTStack的应用程序都有一个main函数&#xff0c;这个main函数是统一的。这个main函数做了某些初始化之后&#xff0c;最终会调用到应用程序提供的btst…

学习Java的第八天

本节我们重点研究对象和类的概念。 对象&#xff08;Object&#xff09;是一个应用系统中的用来描述客观事物的实体&#xff0c;是有特定属性和行为&#xff08;方法&#xff09;的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:MenuItemGroup)

该组件用来展示菜单MenuItem的分组。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 包含MenuItem子组件。 接口 MenuItemGroup(value?: MenuItemGroupOptions) 参数&#xff1a; 参…

搜索组件的编写与数据的联动

src\components\SearchInput\index.vue 搜索组件编写 <template><div class"search-wrap"><input type"text":placeholder"placeholder":maxlength"maxlength":value"inputValue"input"searchData($ev…

软件测试 - postman高级使用

断言 概念&#xff1a;让程序代替人判断测试用例执行的结果是否符合预期的一个过程 特点&#xff1a; postman断言使用js编写&#xff0c;断言写在postman的tests中 tests脚本在发送请求之后执行&#xff0c;会把断言的结果最终在testresult中进行展示 常用的postman提供的…

Linux系统架构----nginx的访问控制

nginx的访问控制 一、nginx基于授权的访问控制概述 Nginx与Apache一样&#xff0c;可以实现基于用户权限的访问控制&#xff0c;当客户端想要访问相应的网站或者目录时&#xff0c;要求用户输入用户名和密码&#xff0c;才能正常访问配置步骤生成用户密码认证文件 &#xff1…

48. 【Linux教程】yum 软件包管理

本小节介绍如何在 Linux 系统中使用 yum 命令软件管理。 1.yum 简介 yum 是 Red Hat 软件包管理器&#xff0c;它能够查询有关可用软件包的信息&#xff0c;从存储库获取软件包&#xff0c;安装和卸载软件包&#xff0c;以及将整个系统更新到最新的可用版本。yum 在更新&#…

sql注入基础学习

1.常用SQL语句 01、显示数据库 show databases&#xff1b; 02、打开数据库 use db name&#xff1b; 03、显示数据表 show tables&#xff1b; 04、显示表结构 describe table_name&#xff1b; 05、显示表中各字段信息&#xff0c;即表结构 show columns from table_nam…

c++初阶------类和对象(下)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

河北政采网2024年的入驻要求?

河北政采网2024年的入驻要求主要包括以下几个方面&#xff1a; 经营范围与资质&#xff1a;申请者需具有合法经营的营业执照&#xff0c;可以是一般纳税人、小规模纳税人或个体工商户。同时&#xff0c;申请者需要具备自主电商平台&#xff0c;该平台应为面向社会消费的专业销…

Linux学习(3)——使用Linux命令行

1.Shell是什么&#xff1f; shell本质上是Linux的应用程序&#xff0c;是Linux和用户进行沟通的桥梁 用户可以通过控制台终端输入各种命令&#xff0c;命令会被shell解析&#xff0c;解析后就会调用命令所对应的应用程序&#xff0c;应用程序又会去调用各种API接口以使用Linux内…

锐捷 EWEB auth 远程命令执行漏洞复现

一、漏洞信息 漏洞名称:锐捷 EWEB auth 远程命令执行漏洞 漏洞类别:远程代码执行 风险等级:高危 二、漏洞描述 锐捷睿易是锐捷网络针对商业市场的子品牌。拥有易网络、交换机、路由器、无线、安全、云服务六大产品线,解决方案涵盖商贸零售、酒店、KTV、网吧、监控安防…

【嵌入式——QT】文件系统和文件读写

【嵌入式——QT】文件系统和文件读写 文本文件读写二进制文件读写文件目录操作QCoreApplicationQFileQFileInfoQDirQTemporaryDir和QTemporaryFileQFileSystemWatcher 图示代码示例 文本文件读写 QT提供了两种读写纯文本文件的基本方法&#xff0c;一种是用QFile类的IODevice读…

java SSM科研管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM科研管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S…