Django基础

1.MVC与MTV:

两个Web框架MVC MTV
MVC
Mobel View Controller
数据库 模板文件 业务处理
MTV
Moble Template View
数据库 模板文件 业务处理
Django是一个基于MTV的框架

2.安装Django

pip3 install django

C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts

3.创建Django工程

django-admin startproject mysite 【工程名称】

mysite
- mysite # 对整个程序进行配置
- init
- settings # 配置文件
- url # URL对应关系
- wsgi # 一套WSGI规范 本质是依据规则创建一个Socket
- manage.py #管理django程序:
- python manage.py
- python manage.py startapp xx
- python manage.py makemigrations
- python manage.py migrate

4.运行Django功能

python manage.py runsever 127.0.0.1:port

5.创建app

以chouti为例子
-chouti
-配置
-主站 app
-后台管理 app

创建app
python manage.py startapp cmdb
python manage.py startapp openstack
python manage.py startapp …(可以创建很多)

6.app简介

app目录:
migrations #数据修改表结构
admin #Django为我们提供的后台管理
app #配置当前app
models #ORM,写指定的类,通过命令就可以创建数据库结构
tests #单元测试
views #业务逻辑代码

from django.shortcuts import render
f = open('templates/login.html','r',encoding='utf-8')
data = f.read()
f.close()
上述三行代码 = render(request,'login.html')

7.新建Django

①配置模板的路径 即templates的路径

settings->’DIRS’->[os.path.join(BASE_DIR,’templates’)]

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',
                ],
            },
        },
    ]

②配置静态目录static

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)


<link rel="stylesheet" href="/static/commons.css"/> /static
<script src="/static/jquery.min.js"></script>   /static

8.CSRF

CSRF:跨站请求伪造
settings中先找到middleware 暂时先注释这句话csrf
注意:

urls里边的
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', views.login),
    url(r'^home', views.home),

如果有斜杠r’^login/’则在login.html中action=”/login/”也有斜杠
如果没有斜杠r’^home’则在login.html中action=”/home”也没有斜杠
要注意这个对应关系,否则会出现403错误

9.写代码

①定义路由规则

在url.py中写
“login” –> 函数名 不带括号

②定义试图函数

    app下views.py

        def fun(request):
            # request.method    GET/POST

            # request.GET.get('',None)  获取请求发来的数据

            # request.POST.get('',None)

            #return HttpResponse('字符串')
            #return render(request,'Http模板的路径')
            #return redirect('/只能填URL')     #redirect重定向

③模板渲染

Django中有特殊的模板语言{{}}

def func(request):
    return render(request,'index.html',{'current_user':sms})

index.html
<html>
    <body>
        <div>{{current_user}}</div>  {{}}是一个特殊的标记可以替换sms
    </body>
</html>

==>显示出来的样式,生成的sms的字符串
<html>
    <body>
        <div>sms</div>   {{}}是一个特殊的标记可以替换sms
    </body>
</html>

For循环

def func(request):
    return render(request,'index.html',{'current_user':sms},
                 'user_list':['alex','erric'])
<html>
    <body>
        <div>{{current_user}}</div> 

        <ul>
            {% for row in user_list %}
            <li>{{row}}</li>
            {% endfor %}
        </ul>
    </body>
</html>

索引

def func(request):
    return render(request,'index.html',{'current_user':sms},
                 'user_list':['alex','erric'],
                 'user_dict':{'k1':'v1','k2':'v2'})
<html>
    <body>
        <div>{{current_user}}</div> 

        <a>{{ user_list.0 }}</a>
        <a>{{ user_list.1 }}</a>
        <a>{{ user_dict.k1 }}</a>
        <a>{{ user_dict.k2 }}</a>
    </body>
</html>

条件

def func(request):
    return render(request,'index.html',
                 {'current_user':sms},
                 'age': 18,
                 'user_list':['alex','erric'],
                 'user_dict':{'k1':'v1','k2':'v2'})
<html>
    <body>
        <div>{{current_user}}</div> 

        <a>{{ user_list.0 }}</a>
        <a>{{ user_list.1 }}</a>
        <a>{{ user_dict.k1 }}</a>
        <a>{{ user_dict.k2 }}</a>

        {% if age %}
            <a>有年龄</a>
            {% if age > 16 %}
                <a>老男人</a>
            {% else %}
            <a>小鲜肉</a>
            {% endif %}
        {% else %}
            <a>无年龄</a>
        {% endif %}

    </body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Django基础教程PDF是一本详细讲解Django框架的书籍。Django是一个基于Python的高效Web应用开发框架,使用Django可以快速开发高质量、安全且易维护的Web应用程序。这本书从Django基础概念、安装、配置、模型、视图、模板、表单、认证、管理等方面,详细解释了如何使用Django进行Web应用开发。 其中,书籍的第一部分主要讲解了Django框架基础知识,包括Django的架构、安装配置、虚拟环境、应用以及包管理等等。第二部分则详细阐述了Django的各种模型,包括Model、QuerySet以及Django ORM的操作等。第三部分则重点讲解了Django的视图,包括视图函数、URL路由以及视图的响应等等。第四部分则阐述了Django的模板系统,包括模板语言、模板渲染以及静态文件等。第五部分讲解了Django的表单系统,包括表单类的定义、视图函数的编写以及表单的提交和验证等。第六部分则深入讲解Django的认证系统、权限管理以及用户注册等内容。最后一部分则介绍了Django的管理后台、中间件、缓存、测试和部署等方面的内容。 总之,Django基础教程PDF对于想要学习并掌握Django框架的开发者来说是一本非常好的入门书籍。它详细介绍了Django框架的整个开发流程,给予开发者夯实的理论基础和实操能力,让开发者能够高效地使用Django框架进行Web应用开发。 ### 回答2: Django是一个高效的Python Web应用程序框架,它的特点是快速开发、可拓展性和丰富的功能性。对于初学者来说,学习Django框架并不是一件容易的事情,因此《Django基础教程》成为了很多开发者必备的学习资料。 《Django基础教程》详细介绍了Django框架的各种概念和操作方法,包括了模型、视图、模板、表单、路由等方面的基础知识。这本教程以实践为主,让读者通过自己手写一个简单的博客系统来获取对Django框架的全面认识。 教程的阅读需要基本的Python编程知识,因为它是使用Python语言编写的。在读完本教程后,读者可以掌握Django框架的开发流程,了解Django的中间件和模型、视图、模板的关系,掌握如何与数据库进行交互以及如何使用Django表单等。 值得一提的是,《Django基础教程》是一本中文教程,将一些比较抽象的概念解释得十分清楚易懂。而且它还针对Django 2.x 版本进行了详细介绍,非常贴近当前开发环境,可以让读者快速开发出一个简单的Web应用程序。 总而言之,《Django基础教程》是一本非常优秀、权威、全面的Django框架学习资料,它的内容详尽,范例丰富,让读者学习起来既轻松而又有深度。对于初学者来说,它是一个不容错过的学习宝典。 ### 回答3: Django是一个流行的Python Web框架,已经成为许多Web应用程序开发人员的首选。有很多教程和资源可用,其中包括Django基础教程,可作为入门学习Django的教材。 这本教程的重点是了解Django基础知识,例如Django框架的架构、模型-视图-控制器(MVC)模式、Django模型和Django视图等。它涵盖了创建新的Django项目,如何在Django项目中创建和管理应用程序,以及如何利用Django模板和表单在网页中呈现和处理数据。 该教程还提供了一些简单的应用程序示例,如博客和投票应用程序,这些教程旨在帮助读者嵌入并了解Django的工作原理。 在学习Django基础教程时,读者将学习如何编写干净、可读、可扩展和可维护的代码。这是应用程序开发中的最佳实践之一,有助于确保应用程序的可靠性。 总之,Django基础教程是入门学习Django框架的好材料,它能够为初学者提供一些基本的理解和编程技能,同时也提供了一些实用而有趣的示例,帮助学习者了解和熟悉Django框架的工作方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆豆orz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值