前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day58-Django基础-初识Django+settings配置static路径

day58-Django基础-初识Django+settings配置static路径

原创
作者头像
少年包青菜
修改2020-08-06 11:10:38
3330
修改2020-08-06 11:10:38
举报
文章被收录于专栏:Python 学习

1.http协议前后台传输规范图(了解)

2.创建Django项目

a.在cmd模式下创建(了解)

进入指定文件夹  cd /d + 指定盘目录,再执行 django-admin startproject + 项目名字
进入指定文件夹 cd /d + 指定盘目录,再执行 django-admin startproject + 项目名字

b.pycharm下创建Django项目

3.启动Django项目

python manage.py runserver,可以直接在pycharm下的Terminal下运行
python manage.py runserver,可以直接在pycharm下的Terminal下运行

4.关于前后台之间的交互,助于理解Django

socket 前台访问后台不同接口.py

代码语言:javascript
复制
import socket

sk = socket.socket()
sk.bind(('localhost', 8080))
sk.listen(1024)


def login():
    return bytes('this is a login api', encoding='utf-8')


def lottery():
    return bytes('this is a lottery api', encoding='utf-8')


def shit():
    return bytes('this is a eat_shit api', encoding='utf-8')


url_list = [
    ('login', login),
    ('lottery', lottery),
    ('shit', shit)
]

while 1:
    connection, address = sk.accept()
    browser_data = connection.recv(1024).decode('utf-8')  # 接收来自浏览器的数据
    print(browser_data)

    first_line = browser_data.split('\r\n')[0]  # 分离接口数据
    url = first_line.split(' ')[1].strip('/')  # 获取不同路径的实体

    print(url)
    for i in url_list:
        if i[0] == url:  # 如果来自前台拆分后的接口在我的接口列表里面的话
            msg = i[1]()  # 就执行这个函数
            print(msg)
            break
    else:
        msg = b'444 no found'

    connection.send(b'HTTP/1.1 200 OK\r\n\r\n')  # 固定格式,首先发送的头部,详见本博文第一张图
    connection.send(msg)
    connection.close()

5.后台如何实现返回一个网页

代码语言:javascript
复制
import socket
import time

sk = socket.socket()
sk.bind(('localhost', 8080))
sk.listen(1024)


def lottery():
    return bytes('this is a lottery api', encoding='utf-8')


def shit():
    return bytes('this is a eat_shit api', encoding='utf-8')


def login():
    with open('login.html', 'r', encoding='utf-8') as f:  # 这里就实现了一个返回网页的功能
        data = f.read()                                   # 首先当前 py 同目录下放了一个 login.py 的html文件
        data = data.replace('@@##@@##', time.asctime())  # 后台已经实现了一个网页动态的功能
        return bytes(data, encoding='utf-8')


url_list = [
    ('login', login),
    ('lottery', lottery),
    ('shit', shit)
]

while 1:
    connection, address = sk.accept()
    browser_data = connection.recv(1024).decode('utf-8')  # 接收来自浏览器的数据
    print(browser_data)

    first_line = browser_data.split('\r\n')[0]  # 分离接口数据
    url = first_line.split(' ')[1].strip('/')  # 获取不同路径的实体

    print(url)
    for i in url_list:
        if i[0] == url:  # 如果来自前台拆分后的接口在我的接口列表里面的话
            msg = i[1]()  # 就执行这个函数
            print(msg)
            break
    else:
        msg = b'444 no found'

    connection.send(b'HTTP/1.1 200 OK\r\n\r\n')  # 固定格式,首先发送的头部
    connection.send(msg)
    connection.close()

6.我的第一Django项目

a. settings.py文件的设置网页目录

b. settings.py文件的设置配置文件目录

7.Django的初次运行

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.http协议前后台传输规范图(了解)
  • 2.创建Django项目
    • a.在cmd模式下创建(了解)
      • b.pycharm下创建Django项目
      • 3.启动Django项目
      • 4.关于前后台之间的交互,助于理解Django
      • 5.后台如何实现返回一个网页
      • 6.我的第一Django项目
        • a. settings.py文件的设置网页目录
          • b. settings.py文件的设置配置文件目录
          • 7.Django的初次运行
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档