今天来简单总结一下使用Pycharm和Django来搭建一个最简单的Python Web 应用(就是咱们所说的‘Hello World’)。在这里,咱们首先假设已经安装好了Python(2.x 和3.x版本都可)。python
不管是Python2.x仍是Python3.x版本,均可以使用pip来安装Django。在控制台使用以下命令:web
pip install django
安装成功后,在ipython里面或者Pycharm的Python console控制台导入django,并查看版本信息,使用以下命令:正则表达式
import django django.VERSION
就看到以下信息,表示django已经安装成功。django
Out[3]: (1, 11, 3, 'final', 0)
接下来就让咱们用Pycharm 开启第一个Django程序吧。浏览器
Pycharm能够帮助咱们很自动化的创建一个完整的项目结构。点击Pycharm的File,选择New Project…,在选择左侧的Django,在右侧填写项目路径和选择Python版本。以下图:session
点击确认后,在我刚刚新建的项目文件下会看到如下的文件结构:app
这里简单解释一下这几个文件:
__init__.py:这是一个初始化的空文件,通常咱们不须要动它。
settings.py: 这是一个配置文件,里面有关于语言、时区、安装的app声明等等信息;
urls.py: 这个文件里指明了在访问一个页面时要调用的视图啊等的映射,确保在访问时能够正肯定位到你要实现的功能;
wsgi.py: 这是一个关于web程序的wsgi的相关配置,咱们暂时不须要修改它。
manage.py: 能够理解为他是django应用的控制中心,许多命令的实现,都须要他来调动,后面说。函数
后面咱们每添加一个web application,就须要按照这样的方式来建立一个app,具体操做以下:
在cmd或者Pycharm的Terminal控制台里,cd 进入到上面建立的项目的manage.py文件所在的路径下,例如:url
cd :\PythonProjects\mysite>
而后使用manage.py来建立一个app,输入命令以下:spa
python manage.py startapp blog
其中blog是我摇建立的app的名字,以后刷新pycharm的文件结构,会看到在刚刚新建的mysite项目下,会多出来一个blog文件夹,里面的文件结构以下:
(1)修改blog/views.py
这里的每一个文件的做用能够参考文档,重点说一下重点blog/views.py这个文件,他是一个视图文件,等你回来咱们要显示的Hello World就要在这个文件里实现。咱们在这个文件定义一个函数index()来实现咱们的要求,具体以下:
from django.http import HttpResponse def index(request): return HttpResponse('Hello!')
(2)修改mysite/settings.py
上面新建了app后,咱们就要想将这个app的名字 添加到mysite目录下的settings.py文件中,找到INSTALL_APP,在末尾添加,具体以下:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # 这里直接写app的名字就好,写mysite.blog会报错 ]
(3)配置mysite/urls.py
这是最后一步配置,须要在这里指明上面写的app以及app要实现的功能,否则映射不正确,在访问网页的时候回出现404的错误,具体以下:
from django.conf.urls import url from django.contrib import admin from blog import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index), ]
这里有几个地方须要注意:
(4)启动服务
上述的全部文件都配置无误后,就能够启动服务了。在cmd或者Terminal控制台,cd 到manage.py所在路径下,执行:
python manage.py runserver
会看到以下的提示信息:
这个时候咱们在浏览器里输入图中提示的地址: http://127.0.0.1:8000/index,(其中index就是urls.py里咱们设置的那个键值),回车后会看到以下界面:
若是咱们输入http://127.0.0.1:8000/admin,则会出现以下的验证信息:
在修改urls.py文件时,有个问题困扰我好一下子。在导入views时,Pycharm引导的方式是 使用from mysite.blog imoprt views 或者import mysite.blog.views,可是若是这样作的话,在启动服务的时候,会报错ModuleNotFoundError,也就是说根本找不到mysite.blog;把他修改为from blog import views时,能够正常启动服务看到咱们想要的结果。但此时有个问题,会发如今Pycharm中会出现红色的错误提示,很郁闷有没有???好吧,咱们就当这是Pycharm的一个bug好了吧,强迫症就先忍忍吧!