【Django】django初识

一、测试demo

1、pycharm创建django

在这里插入图片描述

2、创建APP

pycharm命令行输入:

python manage.py startapp app01

创建好后会多一个app01文件夹

3、注册app

在app01文件夹下,apps.py中会有App01Config类。找到settings.py文件,找到INSTALLED_APPS列表,末尾添加'app01.apps.App01Config'
找到TEMPLATES列表,删除’DIRS’中的内容。

4、找到views.py

添加:

from django.shortcuts import HttpResponse

def index(request):
    return HttpResponse("欢迎使用!")
5、找到urls.py
from app01 import views

urlpatterns = [
    path('index/', views.index),
]
6、运行程序

网页中进入http://127.0.0.1:8000/index,可以看到"欢迎使用!"字样。

二、接收微信小程序请求demo

1、urls.py
from django.urls import path

from app01 import views

urlpatterns = [
    path('index/', views.index),
    path('login/', views.LoginView.as_view()),
]
2、views.py
from django.shortcuts import render,HttpResponse
from rest_framework.views import APIView
from rest_framework.response import Response

# Create your views here.

def index(request):
    return HttpResponse("欢迎使用!")

class LoginView(APIView):
    def post(self, request, *args ,**kwargs):
        print(request.data)
        return Response({"status":True})
3、settings.py

在INSTALLED_APPS列表中添加’rest_framework’

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
    'rest_framework'
]
4、微信小程序中

demo.wxml

<!--pages/demo/demo.wxml-->
<view>{{message[0]}}</view>
<view bindtap="getLocalPath">{{localPath}}</view>
<view>手机号:</view>
<input value="{{phone}}" bindinput="bindPhone" placeholder="请输入手机号"></input>

<view>验证码:
  <view bindtap="messageCode">点击获取验证码 </view>
</view>

<input value="{{code}}" bindinput="bindCode" placeholder="请输入验证码"></input>

<button bindtap="login">登录</button>

demo.js

// pages/demo/demo.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        message:["a","b","c"],
        localPath:"请选择位置",
        phone:"",
        code:""
    },

      bindPhone:function(e){
        this.setData({ phone:e.detail.value});
      },
      bindCode: function (e) {
        this.setData({ code: e.detail.value });
      },
  /**
   * 发送短信验证码
   */
  messageCode:function(){
    // 手机长度限制
    if (this.data.phone.length !=11){
      // 弹窗
      wx.showToast({
        title: '手机号长度错误',
        icon:"none", // loading/success/none
      })
      return;
    }

    // 正则匹配手机格式
    var reg = /^(1[3|4|5|6|7|8|9])\d{9}$/;
    if(!reg.test(this.data.phone)){
      wx.showToast({
        title: '手机号格式错误',
        icon: "none", // loading/success/none
      })
      return;
    }

    wx.request({
      url: 'http://127.0.0.1:8000/api/message/',
      data: { phone: this.data.phone },
      method: 'GET',
      success: function (res) {
        console.log(res);
      }
    })
  },
  /**
   * 用户登录
   */
  login:function(){
    console.log(this.data.phone, this.data.code);
      // 将手机号和验证码发送到后端,后端进行登录。
      wx.request({
        url: 'http://127.0.0.1:8000/login/',
        data: { phone: this.data.phone, code: this.data.code},
        method: 'POST',
        success: function(res) {
          console.log(res);
        }
      })
  },  
  
    getLocalPath:function(){ 
        var that = this; 
        wx.chooseLocation({ 
            success: function(res) { 
                that.setData({localPath:res.address}); 
            }, 
        })
    },
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})

三、效果
在微信小程序中登录,在pycharm中可以接收到信息

{'phone': '13544443333', 'code': '1111'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值