Django入门教程

Django入门教程

创建Django项目

 django-admin startproject mysite

这将在目录下生成一个mysite目录,也就是你的这个Django项目的根目录。它包含了一系列自动生成的目录和文件,具备各自专有的用途。

启动开发服务器

python manage.py runserver

创建一个app

python manage.py startapp polls

编写view.py

from django.shortcuts import render
from django.shortcuts import HttpResponse
def index(request):
    return HttpResponse("hello world")

这样第一个页面就写好了,接下来就是渲染

配置url

//MyApp中新建urls.py
from MyApp import views
urlpatterns = [
    path('', views.index, name='index'),
]

mysite中urls.py

from django.urls import include, path
urlpatterns = [
    # path('admin/', admin.site.urls),
    path('', include('MyApp.urls')),
]

这样简单的页面就好了

下一步是数据库配置 (这里是mysql)

#mysite中init.py中需配置
import pymysql
pymysql.install_as_MySQLdb()

#setting.py中配置好数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # 数据库名
        'NAME': 'py',
        # 用户名
        'USER': 'root',
        # 密码
        'PASSWORD': 'lyc123',
        # 本地连接
        'HOST': 'aa.aa.aa.aa',
        # 端口号
        'PORT': '3306'
    }
}

配置完成,下一步开始创建模型

先创建一个用户表吧

from django.db import models

# Create your models here.
class UserTest(models.Model):#用户表
    user_telephone = models.CharField(max_length=50,primary_key=True,verbose_name='账户')
    user_password = models.CharField(max_length=50,verbose_name='密码')
    def __str__(self):
        return self.user_telephone

然后执行命令

python manage.py makemigrations MyApp

最后在执行

python manage.py migrate

这时 你的模型应该就在数据库建好了

已有的数据库生成model模型

python manage.py inspectdb > MyApp/models.py 

获取前端传的参数(非表单传参)

def login_judge(request):#登入判定
    if request.method == "GET":
        data = {
            "info": "请求错误!!!",
            "status": 3
        }
        return HttpResponse(json.dumps(data))
    else:
        data = json.loads(str(request.body, 'utf-8'))
        return HttpResponse(json.dumps(data), content_type='application/json')

str(request.body, ‘utf-8’) 是为了将bytes类型数据转为string格式, 然后json.loads(str(request.body, ‘utf-8’))转为json串, 最后json.dumps(data)转为json返回去

获取数据库的user表数据 并转为json格式

    data = {}
    book = LsUser.objects.values('id')
    data['data'] = list(book)
    return JsonResponse(data, safe=False)

添加条件查询

username = json.loads(request.body, encoding='utf-8')["username"]
data = {}
book = LsUser.objects.filter(username=username).values()
data['data'] = list(book)
return JsonResponse(data, safe=False)

分页查询

def get_content(request):
    if request.method == "GET":
        return JsonResponse({"data": "请求失败"}, safe=False)
    else:
        try:
            page = json.loads(request.body, encoding='utf-8')["page"]
            pageSize = json.loads(request.body, encoding='utf-8')["pageSize"]
            data = {}
            book = LsContent.objects.filter().values('id', 'title', 'user_id').order_by("-create_time")
            paginator = Paginator(book, pageSize)
            book = paginator.page(page).object_list
            # 获取数据的总数
            count = paginator.count
            data['data'] = list(book)
            data['code'] = 200
            data['count'] = count
            data['totalPage'] = math.ceil(count/5)
        except:
            return JsonResponse({"data": "请输入正确的参数", "code": 1001}, safe=False)
        else:
            return JsonResponse(data, safe=False)

模糊查询

def demo(request):
    data = {}
    try:
        keyword = json.loads(request.body, encoding='utf-8')["keyword"]
    except:
        keyword = ''
    else:
        keyword = json.loads(request.body, encoding='utf-8')["keyword"]
    book = LsContent.objects.filter(title__contains=keyword).values('id', 'title', 'user_id')
    data['data'] = list(book)
    return JsonResponse(data, safe=False)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值