Django框架入门_正正小课堂

Django框架入门_正正小课堂

课堂网址

MVC、Router路由、Template

在这里插入图片描述

在这里插入图片描述

Django框架的MVC流程

在这里插入图片描述

Django框架创建流程

在这里插入图片描述

Django框架目录的简单介绍

在这里插入图片描述

本课程包含内容

在这里插入图片描述

常用命令

在这里插入图片描述

网站新建流程

  1. 新建Django项目

  2. 新建页面

    D:\djangoProject>python manage.py startapp firstWEB

  3. settings.py设置

    • INSTALLED_APPS加上页面名称(firstWEB)
    • LANGUAGE_CODE = 'zh-Hans'
    • TIME_ZONE = 'Asia/Shanghai'
  4. 配置urls.py,写views

    #写好index.html
    
    #views.py
    def index(request):
        return render(request,'index.html')
    
    #urls.py
    urlpatterns = [
        path('admin/', admin.site.urls),
        re_path(r'^index/',views.index,name="index")
        #删掉index/可以直接域名访问
    ]
    #GET,使用()把正则包起来,然后用?P正式表达式 这种形式来表示
    #re_path('page=(?P<page>\d+)&key=(?P<key>\w+)', views.detail, name="detail"),
    #上面表示:http://127.0.0.1:8000/page=12&key=abc
    
    

访问页面-》从urls.py的urlpatterns找页面-》从views.py的函数执行返回页面

POST页面/表单提交

html页面表单form需要加{% csrf_token %}

返回结果值 给 结果页面(渲染模板):return render(request,'result.html',context={'data':result})

#views.py
def calPage(request):
    return render(request,'cal.html')

#接收Post请求,存在request中
def calculate(request):
    value_a = request.POST['valueA']
    value_b = request.POST['valueB']
    result = int(value_a) + int(value_b)
    return render(request,'result.html',context={'data':result})

#urls.py
urlpatterns = [
    re_path(r'^calPage/',views.calPage),
    re_path(r'^calculate',views.calculate)
]

#cal.html
<form method="POST" action="/calculate">
    {% csrf_token %}
    第一个数字<input type="number" name="valueA">
    +
    第二个数字<input type="number" name="valueB">
    <input type="submit" value="提交计算">
</form>

#result.html
<h1>计算结果是:</h1><h2>{{ data }}</h2>

数据库SQLite的使用

  1. 添加models.py

  2. 创建数据库

    #models.py
    class cal(models.Model):
        value_a = models.CharField(max_length=10)
        value_b = models.FloatField(max_length=10)
        result = models.CharField(max_length=10)
    

    D:\djangoProject>python manage.py makemigrations

    D:\djangoProject>python manage.py migrate

    在这里插入图片描述

#list.html
<table border="1">
    <thread>
        <tr>
            <th>valueA</th>
            <th>valueB</th>
            <th>result</th>
        </tr>
    </thread>
    {% for i in data %}
    <tr>
        <td>{{ i.value_a }}</td>
        <td>{{ i.value_b }}</td>
        <td>{{ i.result }}</td>
    </tr>
    {% endfor %}
</table>
<form action="/del" method="POST">
    {% csrf_token %}
    <input type="submit" value="清库">
</form>

#views.py
def calList(request):
    data = cal.objects.all()
    # for i in data:
    #     print(i.value_a,i.value_b,i.result)
    return render(request, 'list.html', context={'data': data})

def delData(request):
    cal.objects.all().delete()
    return HttpResponse('data deleted')

#urls.py
urlpatterns = [
    re_path(r'^list',views.calList),
    re_path(r'^del',views.delData)
]

对接收POST请求网址的优化

# 接收Post请求,存在request中
def calculate(request):
    if request.method == 'POST':
        #处理post
    else:
        return HttpResponse('please visit us with POST')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值