栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python之Django学习1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python之Django学习1

Django学习1

Django学习简易版准备工作

第一步创建框架第二步环境配置

数据库链接测试 数据库简单增删改查操纵

Django学习简易版 准备工作

    下载Django框架,注意:全部命令在管理员窗口执行

    pip install django==2.2.*
    # 2.2版本是稳定版的 * 代表这个版本最新的
    

    创建框架,在第一步中有

    启动项目

    python manage.py runserver # 默认是8080端口 ,本地连接
    python mangee.py runserver 8080 # 改端口
    python manage.py runserver 0.0.0.0:8000 # 远程连接,如果不成功,根据自己的django版本去官方文档找。
    

    启动成功在浏览器中打开

    Run 'python manage.py migrate' to apply them.
    February 25, 2022 - 11:36:52
    Django version 2.2.8, using settings 'mydemo.settings'
    Starting development server at http://127.0.0.1:8000/ # 用这个url在浏览中打开
    Quit the server with CTRL-BREAK.
    

第一步创建框架

    创建项目框架,随便找个目录,打开管理员窗口,在你找到目录在输入。

    django-admin startpoject myweb(项目名)
    

    创建app 可以多个创建,进入myweb目录下,输入

    python manage.py startapp myapp(app名)
    

    创建前端html页,手动 创建 在myweb下创建 templates/myapp目录,html写在myapp下,实在templates/myapp,而不是你创建的app下。

第二步环境配置
    找到项目下settings.py 文件修改ALLOWED_HOSTS=[’*’],让任意都能访问添加自己的应用在INSTALLED_APPS中加入’myapp’,在TEMPLATES中DIRS中修改[os.path.join(BAST_DIR,‘templates’)] ,html前端,用于解析url需要
数据库链接
    配置
DATAbaseS = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mytest',#选择数据库的名,请确认你的mysql中有这个库
        'USER': 'root',
        'PASSWORD': '1234',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        }
}

2.在app中models.py中放映射数文档

这里要下载mysqlclient 模块

例子:

from django.db import models
from datetime import datetime

# Create your models here.
class Users(models.Model):
 #id = models.AutoField(primary_key=True) #主键可省略不写
 name = models.CharField(max_length=32)
 age = models.IntegerField(default=20)
 phone = models.CharField(max_length=16)
 addtime=models.DateTimeField(default=datetime.now)
	class meta:
        db_table = "表名" # 指定表名,如果不写默认是app名_Users类名

    生成迁移文件 python manage.py makemigrations

    生成表 **python manage.py migrate myapp(app名) 注意:如果不写app名,INSTALLED_APPS里对应的都会创建表,djamgo_migrations app表 **

测试

    配置子路由,找到项目中urls.py脚本

    from django.contrib import admin
    from django.urls import path,include #导入include
    
    urlpatterns = [
        # path('admin/', admin.site.urls),
        path('', include('myapp.urls')),# 指向子路径,这里的urls需要自己手动在myapp下创建。
    ]
    

    再在自己手动创建的urls中修改

    from django.urls import path
    from . import views  # 导入视图层
    
    urlpatterns = [
        path('',views.index,name='index')
        # '' 默认为空url头部为空,views.index 视图层下·对应的函数, name='index' 反向解析需要。
    ]
    

    在wiews中写index函数

    from django.shortcuts import render
    from django.http import HttpResponse
    # Create your views here.
    def index(request):
        return HttpResponse("首页")
    

    在浏览器中测试

数据库简单增删改查操纵

增加

from django.shortcuts import render
from django.http import HttpResponse
from myapp.models import Users # 导入Users类
# Create your views here.
def index(request):
    # 增加
    ob = Users()
    ob.name = '张珊'
    ob.age = 20
    ob.phone = '135423234'
    ob.save() # 保存
     #删除操作
    # mod = Users.objects #获取users的model对象
    # user = mod.get(id=6) #获取id值为6的数据信息
    # print(user.name)
    # user.delete() #执行删除操作

    #修改操作
    # ob = Users.objects.get(id=7)
    # #print(ob.name)
    # ob.name = "小刘"
    # ob.age = 26
    # ob.save()

    #数据查询
    mod = Users.objects #获取Users模型的Model操作对象
    #ulist = mod.all() #获取所有数据
    #ulist = mod.filter(name='小刘') #获取name值为小刘的信息
    #ulist = mod.filter(age__gt=20) #获取所有age大于20的信息
    #ulist = mod.filter(age__gte=20) #获取所有age大于等于20的信息
    #ulist = mod.filter(age__lte=20) #获取所有age小于等于20的信息
    #ulist = mod.order_by("age") #按age升序排序
    ulist = mod.order_by("age")[:3] #按age升序排序,只获取前3条
    for u in ulist:
        print(u.id,u.name,u.age,u.phone,u.addtime)
    # 去浏览器刷新一下就行。
    # 再看终端(管理员窗口)有没有没错,数据库有数据就没错,就不截图了
    return HttpResponse("首页")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号