django常用命令和知识点笔记

django常用命令和知识点

Python Console
import django
django.get_version() 查看安装版本
Terminal
django-admin 查看可以使用的指令

django-admin startproject 新建一个django项目

django-admin startapp 新建一个app
并且在setting.py的INSTALLED_APPS下加入该应用名

主路由与子路由
urlpatterns = [
    path('admin/', admin.site.urls),
    path('子应用自定义地址/', include('子应用名称.urls'))
]
模板配置

Settings.py中pycharm自动配置和生成templates文件夹

TEMPLATES = [
    {
    	'DIRS': [BASE_DIR / 'templates']
    }
静态文件

Settings.py中配置

STATIC_URL = 'static/'  # 别名

STATICFILES_DIRS = [
    BASE_DIR / 'statics'
]

需要手动在项目根目录新建statics目录:包含css、js、plugins、images 四个文件夹

模板使用静态文件
{% load static %}
<img src="{% static 'images/程序员.jpg' %}">
<img src="/static/images/程序员.jpg">
模板继承、块
{%  extends "base.html" %}

{% block mainBody %}
自定义内容
{% endblock mainBody %}
模板标签

模板标签=变量+关键字+函数

{# 注释内容 #}

{% python语句 %}

自定义标签:

Seting里Templates下options添加

'libraries': {
    'my_tags': 'templates.my_tags',
    }

在templates下新建my_tags.py然后注册Library,用装饰器@register.simple_tag()写自定义模板函数

过滤器
{# 过滤器 #}
{# 内置过滤器:lower upper truncatewords:"30" 等#}
<p>过滤器:</p>
<p>{{ views_list.0 | lower}}</p>

自定义过滤器的步骤和自定义标签前面的步骤一样,需要新建一个my_tags.py再去options下添加这个py文件,装饰器用@register.filter(),对了,在文件中使用同样需要load加载。另外,过滤器需要重启才能生效。

@register.filter()
def my_filter(v1, v2):
    return v1 * v2
<p>自定义过滤器</p>
{# score就是第一个参数,第二个参数0.6 #}
{{ score | my_filter:0.6 }}
Django关联数据库

Setting.py中配置数据库信息

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE': 'django.db.backends.mysql',
        'NAME': BASE_DIR / 'django',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

init.py中初始化一下

import pymysql
pymysql.install_as_MySQLdb()

在具体应用的models.py中操作数据库,必须继承Django基类models.Model

from django.db import models

# Create your models here.


class Test(models.Model):
    # 数据名 = 数据类型 + 数据约束
    name = models.CharField(max_length=20)
    age = models.IntegerField(default=0) 

此时查看数据库发现并没有Test库和name这个数据:

执行python manage.py migrate方法进行数据迁移后:

但是还是没找到我们的Test这个库,执行python manage.py makemigrations hello这里的hello是应用名,告诉django我们在应用中模型有所改变,再查看数据库发现是没有!!!

最后我们发现,需要再执行python manage.py migrate hello进行迁移!!!

至此,django和数据库关联成功!

Django操作数据库

通过路由到方法直接操作:

from django.urls import re_path
from . import testdb

urlpatterns = [
    # 使用正则的话必须要用re_path!!!
    re_path(r'db/add$', testdb.add),
    path('db/getall', testdb.getAll),
]

testdb.py

from django.http import HttpResponse
from .models import Test


def add(request):
    name = request.GET.get('name')
    age = request.GET.get('age')
    test = Test(name=name, age=age)
    test.save()
    return HttpResponse("<p>数据添加成功</p>")


def getAll(request):
    Llist = Test.objects.all()
    response = ""
    for v in Llist:
        response += v.name + ":" + str(v.age) + "\n"
    return HttpResponse("<p>" + response + "<p>")

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django是一个基于Python语言的Web框架,其提供了一系列拓展和技术来增强其功能和性能。以下是一些常见的Django拓展知识点和技术: 1. Django REST framework:提供了一套用于构建RESTful API的工具集,包括序列化、验证、路由、视图等功能。 2. Django ORM:提供了一套用于操作数据库的对象关系映射工具,支持多种数据库后端。 3. Django Admin:提供了一个自动生成的管理后台,用于管理应用程序的模型数据。 4. Django Cache:提供了一套缓存框架,用于缓存数据库查询、视图响应等数据,提高应用程序的性能。 5. Django Signals:提供了一套信号机制,用于在模型保存、删除等事件发生时触发特定的操作。 6. Django Middleware:提供了一套中间件机制,用于在请求和响应处理过程中进行一些通用的操作,例如权限验证、日志记录等。 7. Django Celery:提供了一套分布式任务队列工具,用于异步执行一些耗时的操作,例如发送邮件、生成报表等。 8. Django Channels:提供了一套异步通信工具,用于实现实时应用程序,例如聊天室、在线游戏等。 9. Django Formtools:提供了一套表单处理工具,用于处理复杂的表单场景,例如分步骤提交、多表单提交等。 10. Django Debug Toolbar:提供了一套调试工具条,用于在开发过程中监控请求响应时间、数据库查询等性能指标,帮助开发者进行调试和性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值