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路径
相关推荐
①个程序员25 分钟前
thinkphp 学习记录
学习
alfiy1 小时前
Elasticsearch学习笔记(四) Elasticsearch集群安全配置一
笔记·学习·elasticsearch
向上的车轮1 小时前
Django学习笔记十一:部署程序
笔记·学习·django
不灭锦鲤2 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全
alfiy2 小时前
Elasticsearch学习笔记(五)Elastic stack安全配置二
笔记·学习·elasticsearch
权^2 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
pumpkin845142 小时前
CXO、CRO、CMO、CDMO相关概念
笔记
冷静 包容2 小时前
C语言学习之 没有重复项数字的全排列
c语言·开发语言·学习
K3njuan2 小时前
《数据结构》学习系列
学习
结衣结衣.2 小时前
C++ 类和对象的初步介绍
java·开发语言·数据结构·c++·笔记·学习·算法