Django 框架基础

WEB框架

MVC

Model       View       Controller
数据库      模板文件       业务处理

MTV

Model    Template     View
数据库     模板文件    业务处理

Django

安装Django模块

安装第三方模块方法
pip install django

创建Django工程

django-admin startproject mysite[工程名称]

工程目录:

mysite
    - mysite        # 对整个程序进行配置
        - init
        - settings  # 配置文件
        - url       # URL对应关系
        - wsgi      # 遵循WSIG规范,uwsgi + nginx
    - manage.py     # 管理Django程序:
                        - python manage.py
                        - python manage.py startapp xx
                        - python manage.py makemigrations
                        - python manage.py migrate
运行Django功能

python manage.py runserver 127.0.0.1:8000

创建app

python manage.py startapp cmdb [app名称]

app目录结构:

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

创建Django工程步骤:

1.创建Django工程
django-admin startproject mysite(工程名)

2.创建APP
cd mysite(进入Django工程所在地目录)
python manage.py startapp cmdb(app名)

3.静态文件路径
在project.settings.py文件最后加上以下代码

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

html文件中导入css/js文件:

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

4.模板路径
project.settings.py
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)]

5.settings.py中将中间那条注释掉

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

6.定义路由规则
url.py:
导入views:
from cmdb import views

写入地址名对应的函数:
path(‘url地址‘, views.views中的函数名),

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
]

7.定义视图函数
views.py:

def func(request):
    request.method   # 获取提交方式( GET/POST)
    # GET提交数据的方式:http://127.0.0.1:8000/home?nid=123&name=bob
    request.GET.get('',None)   # 获取请求用GET发来的数据
    request.POST.get('',None)  # 获取请求用POST发来的数据

    # 以下使用时需要先导入相应模块
    # return HttpResponse("返回字符串")
    # return render(request, "返回HTML模板的路径")
    # return redirect('/只能填URL')

8.模板渲染
通过特殊的模板语言

  • {{ 变量名 }}

views.py:

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

index.html:

<body>
    <div>{{current_user}}</div>
</body>

最后生成的字符串

<body>
    <div>bob</div>
</body>
  • For循环

views.py:

def func(request):
    return render(request, "index.html", {'current_user': "bob", 'user_list': ['bob','jack']})

index.html:

<body>
    <div>{{current_user}}</div>
    <ul>
        {% for row in user_list %}
            {% if row == "bob" %}
                <li>{{ row }}</li>
            {% endif %}
        {% endfor %}
    </ul>
</body>
  • 索引

views.py:

def func(request):
    return render(request, "index.html", {
                'current_user': "bob",
                'user_list': ['bob','jack'],
                'user_dict': {'k1': 'v1', 'k2': 'v2'}})

index.html:

    <body>
        <div>{{current_user}}</div>
        <a> {{ user_list.1 }} </a>
        <a> {{ user_dict.k1 }} </a>
        <a> {{ user_dict.k2 }} </a>
    </body>
  • 条件

views.py:

def func(request):
    return render(request, "index.html", {
                'current_user': "bob",
                "age": 18,

index.html:

    <body>
        <div>{{current_user}}</div>
        {% if age %}
            <a>有年龄</a>
            {% if age >= 18 %}
                <a>成年</a>
            {% else %}
                <a>未成年</a>
            {% endif %}
        {% else %}
            <a>无年龄</a>
        {% endif %}
    </body>

原文地址:https://www.cnblogs.com/dbf-/p/10801437.html

时间: 2024-11-07 09:08:13

Django 框架基础的相关文章

Django框架基础(一)

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 1 安装 1 pip3 install django 2 # 创建Django程序 3 django-admin startproject mysite 4 # 进入程序目录 5 cd mysite 6 # 启动socket服务端,等待用户发送请求 7 python manage.py runse

Django框架基础

Django基础-Lesson1 web框架概念 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端.  socket模拟服务端 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接受HTTP

Django框架基础之Form组件

服务端假设所有用户提交的数据都是不可信任的,所以Django框架内置了form组件来验证用户提交的信息 form组件的2大功能:       1 验证(显示错误信息)       2 保留用户上次输入的信息                  -- 可以生成html标签应用: class A_Form(Form): 字段=fields.字段类型(默认参数: required=True, widget=widgets.插件(attrs={})) 常用字段:Charfield,RegexField,I

django框架基础-django redis-长期维护-20191220

###############   django框架-django redis    ############### ###############   django框架-django redis    ############### ###############   django框架-django redis    ############### ###############   django框架-django redis    ############### ##############

django框架基础-django的中间件-长期维护-20200113

##################    中间件      ####################### ##################    中间件      ####################### ##################    中间件      ####################### ##################    中间件      ####################### ##################    中间件     

Django框架基础学习

Django安装 python下载地址 http://www.python.org/download/releases/3.3.4/ Django的下载地址:https://www.djangoproject.com/download/ 1)安装(进到解压目录) python setup.py install 2.配置环境变量(PATH) C:/Python27/Lib/site-packages/django;C:/Python27/Scripts; 3.检查是否安装成功,可以在dos下进入D

Django框架基础之ajax

对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要重新加载全局数据 2.AJAX AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交互式网页应用的网页开发技术方案. 异步的JavaScript:使用 [JavaScript语言] 以及 相关[浏览器提供类库] 的功能向服务端发送请求

Django框架基础之分页

Django内置分页: 只适用于只有上一页和下一样的页面 1 def index(request): 2 3 current_page=request.GET.get('page') 4 user_list=models.UserInfo.objects.all() 5 paginator=Paginator(user_list,10) 6 # per_page: 每页显示条目数量 7 # count: 数据总个数 8 # num_pages:总页数 9 # page_range:总页数的索引范

Django框架基础之session

Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去.会话状态仅在支持 cookie 的浏览器中保留 Cookie是什么?             保存在客户端浏览器上的键值对 Session是什么?             保存在服务端的数据(本质是键值对)             服务端sess