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