Django 创建web项目之HelloWorld
Django、Flask、Tornado并称为python WEB三大框架。Diango是一个开源的web应用框架,具有开发速度快的特点。同时因为过度封装,具有性能低的特点。
创建Django项目,启动
首先,利用anaconda创建出独立的沙箱环境
conda create -n DjangoPath python=3.5.2 #DjangoPath为沙箱名, python=3.5.2 指定python版本
激活沙箱环境
activate DiangoPath
安装Django
pip install django==2.1.8 # 指定版本为2.1.8
安装成功后,可以查看Django的版本
创建第一个Django项目,项目结构如图所示(ps:忽略views后来自己创建的)
django-admin startproject ArticleBlog # ArticleBlog 为项目名
|-- mysite/ # 项目文件夹[根目录] |-- mysite/ # 根项目(主项目) |-- __init__.py # 模块文件 |-- urls.py # 路由文件[url地址和处理函数进行对应] |-- settings.py # 项目的设置配置文件 |-- wsgi.py # 实现了wsgi网关协议的模块 |-- manage.py # 项目的命令管理模块[不需要修改,直接使用] 官方介绍:https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial01/ 最外层的:file: mysite/ 根目录只是你项目的容器, Django 不关心它的名字,你可以将它重命名为任何你喜欢的名字。 manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls). mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。 mysite/settings.py:Django 项目的配置文件。 mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。 mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
启动项目,可以通过命令或者pycharm启动
命令启动, 输入如下命令启动项目,ctrl+C 退出
python manage.py runserver [0.0.0.0][:8000] # 0.0.0.0 代表可以访问次网站的ip,8000为访问端口号
通过pycharm启动,打开创建文件的目录,如果如下图所示,项目名前面有Dj即为成功,如果没有需要设置自己的python(装有模块Django)安装的位置,点击三角,即可运行。
运行成功图
访问127.0.0.1:8000,如图所示,即为成功
编写Hello,World程序
创建视图views.py 文件,文件与urls.py 同级,代码如下
from django.http import HttpResponse def index(request): return HttpResponse("<h1 style='color:red'>hello world</h1>")
在urls.py 中添加代码,
from ArticleBlog.views import * urlpatterns = [ path('admin/', admin.site.urls), path('index/', index), ]
完整如图,后面的22-25行,暂时不要加
然后就可以通过http://127.0.0.1:8000/index/访问,效果图如下
搭建淘宝手机接口返回手机信息网页
淘宝接口地址为 https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号
在views文件中加入
def getphone(response, phone): data = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 格式化当前时间 url = 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' + phone resu = requests.get(url=url).text # 请求地址拿到内容 result = re.findall("(\w+):'([^']+)", resu)# 正则匹配键值对 dict = {k:v for k, v in result} # 构造字典 return HttpResponse("<h1 style='color:red'>当前时间为:{t}</h1><p style='color:#00FF00;font-size:20px'>{dict}</p>".format(dict=dict,t=data))
在urls.py加入
re_path(r"^getphone/(?P<phone>\d+)$",getphone)
然后就可以通过网址http://127.0.0.1:8000/getphone/15037609692,查询手机信息,运行结果如图
如果想通过其他电脑连接本机ip访问,直接访问http://ip:8000/index/会出现如下错误,可以在settings.py ,修改 ALLOWED_HOSTS的值
ALLOWED_HOSTS = ["*"]
设置后访问成功