上一篇中了解了一些服务器端编程的基础知识, 本篇介绍python语言的web框架 django
django学习教程和参考书
(强烈推荐自强学堂的django教程)
http://code.ziqiangxuetang.com/django/django-intro.html
http://www.runoob.com/django/django-install.html
http://python.usyiyi.cn/translate/django_182/index.html
我的文章的意义
服务端开发,python,django这些内容上面的链接中有详细的阐述. 我写的内容肯定没有上面的完备,准确. 我的文章的价值在于从一个iOS程序员的角度来理解服务端开发. 客户端程序员在学习服务端开发时可能会有一些知识盲点. 我遇到的知识盲点我会着重介绍.
环境
操作系统 macOS Sierra 10.12.6
IDE PyCharm
python 3.5
创建django项目
首先 创建一个空白环境
mkvirtualenv -p /usr/local/bin/python3.5 python35 --no-site-packages
workon python35
pip install django
django-admin.py startproject HelloWorld
cd HelloWorld
django-admin.py startapp mytest
这样项目就创建好了.
运行一下试试.
workon python35
cd HelloWorld
ls
此时能看到manage.py 文件
如果看不到manage.py, 切换路径仔细找找. 总之cd到manage.py 文件所在目录
python manage.py runserver 8000
![](https://img.haomeiwen.com/i2078775/bf1b81bc35a5a71f.png)
图中红色的警告信息的意思是数据库没有migration. 就是工程中有了数据库定义, 但是没有根据数据库定义的代码生成数据库表. 不过不影响此时的运行
此时随便打开一个浏览器地址栏输入http://localhost:8000
看到
![](https://img.haomeiwen.com/i2078775/503d7c8e1e307331.png)
项目跑起来了.
停止运行: 同时按下Ctrl+C两个键.
这之后发现工程路径中多了一个文件
![](https://img.haomeiwen.com/i2078775/d34b700a7f8bb634.png)
是因为django初始时默认使用sqlite数据库, 我们以后会改为mysql的.
使用PyCharm打开项目(有IDE当然要用了)
![](https://img.haomeiwen.com/i2078775/ab9ee907e73ad3e2.png)
简单介绍下PyCharm的运行和调试, 至少断点调试必须要会.
对pycharm来说有两处地方需要配置, 否则和我们刚刚创建的python35环境对不上号.
![](https://img.haomeiwen.com/i2078775/dde3436cff7abfc7.png)
图中选择刚刚创建的python35环境. 如果没有就手动创建一下(addLocal). 指向刚才创建的环境的bin/python就行.
上图中决定的是PyCharm进行代码提示的环境. 代码提示依赖个环境, 如果配置错误, PyCharm会提示很多不存在的错误.
第二处
![](https://img.haomeiwen.com/i2078775/a4dbba1a78be5555.png)
![](https://img.haomeiwen.com/i2078775/744e79d17ec2ff61.png)
选择python35环境.
这里决定的run和debug时用来运行项目的python环境.
我填写的配置是将项目跑在localhost的8000端口上.
这样填写只能够本地访问.
调试
![](https://img.haomeiwen.com/i2078775/3ac0e5bf5744abcd.png)
![](https://img.haomeiwen.com/i2078775/12c5fc2068f0661e.png)
将项目跑起来并且能够在局域网中访问
workon python35
cd 到manage.py文件所在目录
python manage.py runserver 0.0.0.0:8000
此时理论上可以通过局域网访问项目.
但是django默认的settings.py 配置还有问题.
需要修改
settings.py 文件中的
ALLOWED_HOSTS = []
修改为
ALLOWED_HOSTS = ["*",]
表示任何域名都可以访问本项目
修改之后重新 runserver项目. 即可通过局域网访问了.
例如下面的局域网地址.
http://192.168.0.43:8000
网友评论