django框架学习操作简述(指令,文件内容,功能)

本文主要记录了django框架几个应用的场景,主要操作均为入门操作,包括django的创建项目启动项目的指令,创建使用APP,视图和URL,数据库ORM,静态文件

创建和启动项目
pip install pipenv
pipenv shell
MVT模式:model view template   model  view  template
pip install Django==2.2
pip list
创建django项目:
django-admin startproject class0
启动manage.py
python manage.py runserver
也可以指定端口:
python manage.py runserver 8080


APP创建

注册应用在settings内的INSTALLED_APPS内

app创建:创建应用  创建项目
python manage.py startapp book
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'book'
]

APP的视图与URL关联:

在urlpatterns上进行APP视图与URL的关联
book.views.py代码:

from django.shortcuts import render
from django.http    import HttpResponse
# Create your views here.

def index(request):
    # return HttpResponse('首页')
    # 向模板文件传递数据
    context = {'title':'图书列表','list':range(10)}
    # 返回模板文件的方式进行
    # 查询所有图书的
    return render(request,'booktest/index.html',context)

urls.py代码

from django.contrib import admin
from django.urls import path
from book import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/',views.index),
    # views.index是views内定义的index函数
]
数据模板相关:

通过不操作数据库的方式,用ORM框架来创建:
sql 表 可以通过面向对象的方式,将sql表跟python中的类关联起来
ORM是一个转换,将创建sql的操作转换为python类的操作
先要在数据库内有一个表,在数据库内定义模型类,创建一张表
数据迁移:

生成迁移文件:
python manage.py makemigrations
执行迁移:
python manage.py migrate
视图函数:

view.py内定义视图内容,在urls.py内定义路由,需要在urls.py引入views,

from book import views,
urlpatterns 内定义:path 路由

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/',views.index),
    # views.index是views内定义的index函数
]
静态文件/HTML为例

引用HTML文件,需要先定义一个template文件夹存储相关的静态文件,这里就叫模板,定义的位置在本文件夹下的template/,不同的APP使用不同的文件夹:但是template文件夹的位置需要告知框架,在settings上进行定义:
settings.py上有TEMPLATES列表,上定义
templates的DIRS字段定义

TEMPLATES = [
    # 说明项目下的模板在哪个文件夹下找
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'template')],# 通过一个字符串拼接函数实现
        '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',
            ],
        },
    },
]

定义模板之后,在views.py视图中进行使用,通过

def index(request):
	return render(request,'booktest/index.html')
  • 通过render的第三个参数传递HTML 文件使用的参数
def index(request):
    # return HttpResponse('首页')
    # 向模板文件传递数据
    context = {'title':'图书列表','list':range(10)}
    # 返回模板文件的方式进行
    # 查询所有图书的
    return render(request,'booktest/index.html',context)

HTML文件使用了context的参数,使用方式如下:这里使用了title和list两个参数,分别进行引用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图书列</title>
</head>
<body>
<h1>首页</h1>
<h1>{{ title }}</h1>
{% for i in list %}
{{ i }}<br>
{% endfor %}
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值