Django入门 整体流程跑通

Django学习笔记

一、Django整体流程跑通

1.1安装

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

Django目录结构

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

1.2 django常用命令

1)创建一个新项目

语法:

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

shell 复制代码
django-admin startproject  <project_name>

示例:

shell 复制代码
django-admin startproject helloWorld    //创建一个名为helloWorld的新项目

2)创建一个app

语法:

shell 复制代码
django-admin startapp <app_name>

示例:

shell 复制代码
django-admin startapp app1              //新建一个名为app1的app

注意:

一个project下可以有多个app

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

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

python 复制代码
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文件)

pyhton 复制代码
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

python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'helloWorld',
        'USER': 'root',
        'PASSWORD': 'xxxxxx',
        'HOST': '123.60.62.193',
        'PORT': '3306',

    }
}

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

python 复制代码
ALLOWED_HOSTS = ['*']

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

python 复制代码
import pymysql
pymysql.install_as_MySQLdb()

8)启动django

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

9)模型的迁移

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

shell 复制代码
python manage.py makemigrations    #生成迁移文件 
python manage.py migrate           #进行迁移

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

注意:

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

10)清空数据

shell 复制代码
 python manage.py flush

11)创建超级管理员

shell 复制代码
python manage.py createsuperuser

用户信息在auth_user表中

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

12)修改管理员密码

python 复制代码
python manage.py changepasswd <username>

13)django项目环境终端

python 复制代码
 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和函数的对应关系

python 复制代码
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函数

python 复制代码
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字样了。

shell 复制代码
http://192.168.0.25:8000/index/             #这个index就是1.4中配置的那个url路径
相关推荐
UserNamezhangxi27 分钟前
kotlin 协程笔记
java·笔记·kotlin·协程
diablobaal2 小时前
云计算学习100天-第21天
学习
天天进步20154 小时前
Python实战--基于Django的企业资源管理系统
开发语言·python·django
翻滚的小@强4 小时前
数据挖掘笔记:点到线段的距离计算
人工智能·笔记·数据挖掘
会思考的猴子4 小时前
UE5 PCG 笔记(二) Difference 节点
笔记·ue5
yuxb734 小时前
Linux 文本处理与 Shell 编程笔记:正则表达式、sed、awk 与变量脚本
linux·笔记·正则表达式
饕餮争锋7 小时前
设计模式笔记_行为型_访问者模式
笔记·设计模式·访问者模式
不羁。。9 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
好望角雾眠14 小时前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
艾伦~耶格尔14 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试