Django
创建django项目 1. 在终端
django-admin startproject 项目名称 即可创建出一个项目(一个文件夹)
2. 在pycharm终端中创建一个app(需要进入到工程的目录下才可以执行manage.py文件)
python manage.py startapp app的名称
3. 在工程中的settings.py文件中将创建的app文件夹下的apps.py文件中的那个类进行注册
4. 启动项目
python manage.py runserver
# 注意:from导入时 格式为 from 文件夹.文件夹 import python文件,
# 注意必须保证文件夹下__init__.py 文件才能用. 把东西点出来
# 注意:在进行操作之前,要先将在settings.py中设置连接的数据库
5. 对数据库修改进行迁移,makemigrations可以将自己在models.py中写的那些类的信息,写入到migrations文件夹里面去
python manage.py makemigrations
# 然后,migrate就是将migrations文件夹中的信息更新,写到数据库中,即:将数据表创建到数据库中
python manage.py migrate
6. 创建管理员
python manage.py createsuperuser 来创建超级用户
7.然后自己设置数据库的字段,创建的在models.py中创建的每一个类都是一个数据表,当某一个类在model.py中创建完成后,需要到admin.py中注册这个类
admin.site.register(数据表类名)
关于settings.py # 1.INSTALLED_APPS 中需要将每次我们创建的app注册到这里
# 2.DATABASES 里面需要对连接的数据库进行配置
# 3.对语言进行修改:LANGUAGE_CODE = 'zh-Hans'
# 4.对时区进行修改:TIME_ZONE = 'Aisa/Shanghai'
# 5.BASE_DIR = Path(__file__).resolve().parent.parent
# BASE_DIR 表示的是当前工程的路径
# 6.TEMPLATES 里面的 'DIRS'这一项写上路径:
'DIRS': [os.path.join(BASE_DIR, 'templates')], 指定了找模板时的路径
# 7.STATIC_URL = 'static/' 表示的是当访问的是url是static时,就匹配静态的资源
# 然后,添加一项:STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'),] 表示当用户访问static的路由的时候,服务器会到对应的工程的目录下的static目录找资源
# 8.ROOT_URLCONF = 'web.urls' 表示了用户访问的时候的路由的入口
数据库操作 1.首先需要启动mysql
net start mysql57
2.连接mysql
mysql -u root -p
3.创建数据库
create database mygame default charset=utf8;
4.进入数据库
use mygame;
5.查看当前数据库的所有数据表
show tables;
在创建了数据库之后,在django项目中settings.py中修改配置 ps:注意,必须要在原先的项目下创建一个app才可以使用数据库 'default':
{
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'mygame', # 数据库名称
'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1
'PORT': 3306, # 端口
'USER': 'root', # 数据库用户名
'PASSWORD': 'Sz123456', # 数据库密码
}
此外,还需要告诉 Django 使用 pymysql 模块连接 mysql 数据库 # 在工程目录与 settings.py 同级目录下的 __init__.py 中引入模块和进行配置
import pymysql
pymysql.install_as_MySQLdb()
注意:
修改配置 我们需要向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [os.path.join(BASE_DIR, 'templates')],
路由分发Django 项目里多个app目录共用一个 urls 容易造成混淆,后期维护也不方便。 解决:使用路由分发(include),让每个app目录都单独拥有自己的 urls。 步骤: 在总urls.py文件中 from django.contrib import admin
from django.urls import path,include # 从 django.urls 引入 include
urlpatterns = [
path('admin/', admin.site.urls),
path("app01/", include("app01.urls")),
path("app02/", include("app02.urls")),
] |