切换环境: conda activate planone(给自己看的,读者请忽略)
这里是参考这个老师的视频进行的,不过由于其版本问题所以出现了些问题,以下是我成功运行后的总结
以及django简单网页(并连接sqlit3数据库)–(二)
文章目录
一.先使用pycharm创建工程
或者使用pycharm直接创建,系统会自动出现django的环境
1.选择新建项目
2.选择django
运行的时候点击左上角的整体项目运行按键运行
1.1.setting.py内修改:
ALLOWED_HOSTS = []#为空默认使用本地的回环地址
以下同为setting.py中的语言和时区设置为中国的部分
LANGUAGE_CODE ='zh-Hans' #原来: 'en-us'
TIME_ZONE = 'Asia/Shanghai'#原来: 'UTC'
以及添加templates文件夹(这个文件夹储存着你自己定义的html文件)加入django的搜索路径
具体是这行
'DIRS': [BASE_DIR + '/templates',],
- 1
下方为准确位置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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',
],
},
},
]
1.2.urls.py内修改添加接下来准备链接的接口:
from django.contrib import admin
from django.urls import path
from firstWEB import views
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^index/', views.index)
]
比起系统自动创建的,这里多加入了这些
from django.conf.urls import url
- 1
- 2
url(r'^index/', views.index)
- 1
参数说明:
‘admin/’ : 你访问的地址
admin.site.urls: 你映射的文件
二.在django工程中创建你的项目
使用以下命令创建firstWEB的文件夹的工程区前为:
以下为命令行创建自己的django项目下的文件目录,在命令行中使用
#django-admin startproject cs1 #这一步是之前是不靠pycharm进行的工程创建
python manage.py startapp firstWEB
使用后:
2.1 .views.py内:
这个文件就是我们自定义转接的文件了,也就是之前的 urls.py链接的文件
这样写
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, '自定义.html')
# return HttpResponse('ok')
2.2templates文件夹类添加html
最后再在之前配置的templates文件夹内添加自己写的html文件,这里的名字是自定义.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义测试网页</title>
</head>
<body>
<h1 style="color: red">自定义网页的h1标签测试2</h1>
</body>
</html>
2.3点击左上角运行
并在回环地址后面加上配置的/index
三.链接数据库
3.1更改setting,py设置
这一步的作用是为了之后能够迁移我们设置的表,进行准备,不然迁移命令找不然项目
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'firstWEB',#新添加,根据自己的app名称添加
]
这一步是设定sqlit3数据库的存储地址,因为之后要创建salit3时随便迁移django自带的表进去.(可以自定义,也可以不用改)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# 'NAME': os.path.join(BASE_DIR, 'cs2.db'), #修改生成数据库的地址
}
}
3.2迁移django自带的表
在命令行中使用命令
python manage.py migrate
出现下面则说明创建成功
Operations to perform:
Apply all migrations: admin, auth, contenttypes, firstWEB, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
此时可以在,你之前setting中设置的sqlit3文件存储路径找到创建的(django默认为项目根目录下的db.sqlite3)
我这里使用了默认和自定义两种如下图
3.3pycharm中点击设置链接得到的sqlit
然后选择:
Date source -> sqlite
然后检查测试驱动是否已经安装成功,如果不成功则无法进行test Connection,之后也无法刷新.(不同版本的pycharm的驱动提示安装位置不一样,多看看)
添加后点击刷新即可看到django官方提供的表
3.4打开app下面的models.py进行创建表
这里是根据视频来的,就是这个
from django.db import models
from django.db import models
# Create your models here.db.sqlite3
#这里类似于表的描述文件
class cal(models.Model):
value_a = models.CharField(max_length= 10) #这个字符串存储的数据量为10
value_b = models.FloatField(max_length= 10) #浮点数的长度
result = models.CharField(max_length= 10)
3.4开始迁移表
这一步使用下面的命令将我们在models.py内定义的表的结构进行到migrations文件夹内
python manage.py makemigrations
- 1
或者:如果有多个app的时候记得带上app名称的参数(也就是之前我们在setting.py中设置的)
python manage.py makemigrations firstWEB
- 1
当看到以下输出说明成功:
(planone) K:\django_cs>python manage.py makemigrations firstWEB
Migrations for 'firstWEB':
firstWEB\migrations\0002_auto_20210420_1731.py
- Create model cal
- Delete model Video
在使用makemigrations命令迁移改动数据到migration的文件夹保存后我们再使用以下migrate命令把这些改动作用到数据库内部
python manage.py migrate
但刷新在sqlit3中观察到你的文件名与你定义的数据库表的类组成的表的时候,就说明成功连接上数据库了如下图