django简单网页(并连接sqlit3数据库)--(一)

切换环境: conda activate planone(给自己看的,读者请忽略)

这里是参考这个老师的视频进行的,不过由于其版本问题所以出现了些问题,以下是我成功运行后的总结

以及django简单网页(并连接sqlit3数据库)–(二)

项目github源码


一.先使用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',],

下方为准确位置


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

url(r'^index/', views.index)

参数说明:
‘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

或者:如果有多个app的时候记得带上app名称的参数(也就是之前我们在setting.py中设置的)

python manage.py makemigrations firstWEB

当看到以下输出说明成功:

(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中观察到你的文件名与你定义的数据库表的类组成的表的时候,就说明成功连接上数据库了如下图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43134049/article/details/115869657