Pycharm+Django搭建第一个Python Web程序

来源:互联网 发布:p站搜图软件 编辑:程序博客网 时间:2024/05/22 06:47

  今天来简单总结一下使用Pycharm和Django来搭建一个最简单的Python Web 应用(就是我们所说的‘Hello World’)。在这里,我们首先假设已经安装好了Python(2.x 和3.x版本均可)。

安装Django

  无论是Python2.x还是Python3.x版本,都可以使用pip来安装Django。在控制台使用如下命令:

pip install django

安装成功后,在ipython里面或者Pycharm的Python console控制台导入django,并查看版本信息,使用如下命令:

import djangodjango.VERSION

就看到如下信息,表示django已经安装成功。

Out[3]: (1, 11, 3, 'final', 0)

接下来就让我们用Pycharm 开启第一个Django程序吧。


第一个程序:Hello World

1. 创建一个django程序

  Pycharm可以帮助我们很自动化的建立一个完整的项目结构。点击Pycharm的File,选择New Project…,在选择左侧的Django,在右侧填写项目路径和选择Python版本。如下图:


点击确认后,在我刚刚新建的项目文件下会看到以下的文件结构:


这里写图片描述

这里简单解释一下这几个文件:
  __init__.py:这是一个初始化的空文件,一般我们不需要动它。
  settings.py: 这是一个配置文件,里面有关于语言、时区、安装的app声明等等信息;
  urls.py: 这个文件里指明了在访问一个页面时要调用的视图啊等的映射,确保在访问时可以正确定位到你要实现的功能;
  wsgi.py: 这是一个关于web程序的wsgi的相关配置,我们暂时不需要修改它。
  manage.py: 可以理解为他是django应用的控制中心,许多命令的实现,都需要他来调动,后面说。

2. 为项目创建一个app

  后面我们每添加一个web application,就需要按照这样的方式来创建一个app,具体操作如下:
在cmd或者Pycharm的Terminal控制台里,cd 进入到上面创建的项目的manage.py文件所在的路径下,例如:

cd :\PythonProjects\mysite>

然后使用manage.py来创建一个app,输入命令如下:

python manage.py startapp blog

  其中blog是我摇创建的app的名字,之后刷新pycharm的文件结构,会看到在刚刚新建的mysite项目下,会多出来一个blog文件夹,里面的文件结构如下:


这里写图片描述

(1)修改blog/views.py

  这里的每个文件的作用可以参考文档,重点说一下重点blog/views.py这个文件,他是一个视图文件,等你回来我们要显示的Hello World就要在这个文件里实现。我们在这个文件定义一个函数index()来实现我们的要求,具体如下:

from django.http import HttpResponsedef 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 urlfrom django.contrib import adminfrom blog import viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^index/', views.index),]

这里有几个地方需要注意:

  • 第一是url的导入,在Django 1.10以前的版本中是使用的pattern,但是在Django1.10版本以后,就去掉了pattern,换成了url,这里需要注意,这里使用的是1.11的版本,所以用的是url;
  • 第二是admin的导入,这是默认的映射,你也可以去掉,但是他的作用后面我们访问页面的时候再说。
  • 第三是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好了吧,强迫症就先忍忍吧!


这里写图片描述

阅读全文
0 0
原创粉丝点击