Python学习

时间:2021-6-4 作者:qvyue

python Django(二)

Django单表操作

1、创建应用

1.1、添加应用

py manage.py startapp studentmanager

1.2、修改配置

修改settings.py文件的INSTALLED_APPS配置项

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'studentmanager', # 注册自己的应用
]

2、生成数据表

2.1、创建模型

class StudentInfo(models.Model):
    # id = models.AutoField(primary_key=True)  # id 会自动创建,可以手动写入
    name = models.CharField(max_length=30)  # 字符串
    sex = models.CharField(max_length=2)  # 性别
    birth = models.DateField()  # 日期类型

2.2、生成迁移文件

根据模型类型生成sql语句。

py manage.py makemigrations

生成的迁移文件就在migrations文件夹下

operations = [
        migrations.CreateModel(
            name='StudentInfo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=30)),
                ('sex', models.CharField(max_length=2)),
                ('birth', models.DateField()),
            ],
        ),
    ]

使用的数据库settings文件中默认是sqlite3,项目中出现文件db.sqlite3

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

这里使用的是社区版的pycharm,查看sqlite3数据库,需要借助插件Database Navigator

2.3、执行迁移

执行sql语句生成数据表。

py manage.py migrate

查看生成的表

Python学习

3、视图与模板

3.1、视图

在Django中,通过浏览器发送请求时,使用视图函数来处理这个请求,并给与响应的,在应用的views.py定义当前应用的视图函数。

3.1.1、创建视图函数
from django.http import HttpResponse

# 1、定义视图函数
# 2、url配置 建立url地址和视图的对应关系
# django的配置和flask不同
def index(request):
    return HttpResponse('hello django')
3.1.2、配置url与视图对应关系

项目路由文件配置当前应用

from django.contrib import admin
from django.urls import path
from django.conf.urls import url,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('stu/',include('studentmanager.urls')),  # 配置studentmanager的urls
]

在应用下创建urls.py文件

from django.conf.urls import url
from django.urls import path
from studentmanager import views
urlpatterns = [
    # 通过url设置url路由配置项
   path('index',views.index)
]
3.1.2、启动项目、访问
http://127.0.0.1:8888/stu/index

3.2、模板

3.2.1、创建模板文件夹

创建模板文件夹,我们通常在项目下创建文件夹templates。

3.2.2、配置模板文件

配置模板文件,在项目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',
            ],
        },
    },
]
3.2.3、创建模板文件、测试

模板文件夹下创建对应的应用文件夹,后创建测试模板Html文件




    
学生管理

学生管理首页

传递的信息:{{message}}

视图使用模板文件
1、加载模板文件
2、定义模板上下文,向模板文件传递数据
3、模板渲染,页面显示

def index(request):
    context = {}
    context['message'] = 'hello Django'
    return render(request,'studentmanager/index.html',context)

http://127.0.0.1:8888/stu/index访问即可。
模板的使用参考

https://www.runoob.com/django/django-template.html
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。