资源描述
在pycharm下使用Django
Django开发环境搭建(一)
1、 下载并安装python,在cmd界面,输入python,显示如下界面:
2、 安装easy_install,下载并安装setuptools-0.6c11.win32-py2.7.exe,在path内设备环境变量(如果没有设置的话)C:\Python27\Scripts,在C:\Python27\Scripts内可以查看到easy_install安装生成的文件。
3、 安装pip,在cmd下输入exit(),退出python,输入cd ..,再输入C:\Python27\Scripts,切换到路径C:\Python27\Scripts,执行easy_install pip,安装pip,在cmd界面输入pip,显示如下界面:
4、 安装django,在计算机联网的情况下,在cmd界面的python环境下,输入pip install django,输入回车按钮,下载并安装django,输入如下命令查看安装的django的版本
至此,django的开发环境搭建完成。
注1:带版本的安装,命令如下:
pip install Django==1.10.4
注2:更换Django的版本
需要先卸载django,在python环境下,输入如下命令,找到django的安装路径:
Import django;print(django.__path__)
找到django的目录,删除 django 目录即可 ,然后重新安装。
Django项目的创建(二)
下载pycharm的专业版,然后一键安装,打开IDE,pycharm,在pycharm中,点击File,再点击New Project,然后选择Django,以及python对应的版本,见截图:
我们来看创建好的webSite项目下的文件,众所周知,django是基于MTV模式的web框架,在新创建的Django项目中,templates是存储html,css,js等文件的,webSite目录文件为:
文件如下:
__init__.py:让Python把该目录看成一个package使需的文件,而不是一个文件的目录
settings.py:Django项目的设置和设置,数据库,时区等等的配置,都是在这个配置文件下
urls.py:Django项目的url设置,可以理解为Django网站的目录,后面在介绍url隐射的时候
会介绍到该文件
manage.py:一个命令行工具,允许以多种方式与python进行交互。
启动Django项目,来看执行的结果,启动的方式是:
python manage.py runserver
如要指定IP与端口(适合多人开发团队),启动的方式为:
python manage.py runserver 0.0.0.0:9999
因为这里是在pycharm的IDE,启动的方式为:
1、打开manage.py文件
2、在菜单栏中Run中选择Edit Configurations
3、点击Edit Configurations后,在弹出的界面Script parameters输入框中输入runserver。
4、点击弹出层的OK按钮,在打开的manage.py文件中,右键,点击Run 'manage'
5、可以看到,django已经被启动了起来,点击链接http://127.0.0.1:8000/,在浏览器中打开该启动的web界面
Django项目的执行原理(三)
在Django项目的创建中,可以看到启动manage.py后,在浏览器中输入http://127.0.0.1:8000,就可以看到It worked!,那么这个过程是怎么实现的了?在Diango中,它自带了独立的服务器,即框架就是服务,不需要额外的服务器,Django框架中,有一个轻量级,内建的服务器,有了这个服务器,在开发的环境模式下,就不需要额外的apache等web容器了,启动的方式是:manage.py runserver。
这里我们写一个简单的例子,就是在网页中打印出Hello World这句话,首先我们创建app,app是什么了?它是Django项目中的一个独立的应用,我们在pycharm中创建一个包blog
1、在blog包下,创建文件views.py,输入如下编码:
#!/usr/bin/env python
#coding:utf-8
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('<center><h3>Hello World</h3></center>')
2、在webSite目录下的urls.py文件中添加blog映射,也就是分发,把index视图添加到url在webSite目录下的urls.py文件中添加blog映射,也就是分发,见修改后的文件:
#!/usr/bin/env python
#coding:utf-8
from django.conf.urls import url,include,patterns
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/',include('blog.urls',namespace='blog')),
]
3、 拷贝webSite下的urls..py文件,复制到blog的目录下,修改blog目录下的urls.py文件,把index视图添加到url中,见源码:
#!/usr/bin/env python
#coding:utf-8
from django.conf.urls import url
from .views import *
urlpatterns = [
url(r'^index/$', index),
]
4、把blog加入到INSTALLED_APPS中,打开webSite目录下的settings.py文件,在INSTALLED_APPS中加入blog,见源码:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
5、启动开发服务器,也就是python manage.py runserver
6、在浏览器中输入http://127.0.0.1:8000/blog/index,可见到如下的截图,表示ok,见截图:
关于这个实现的过程,在Django_中文教程中已经有了很详细的解释,这里直接复制过来,不再重复。见原文的说明:
1. 进来的请求转入/hello/.
2. Django通过在ROOT_URLCONF配置来决定根URLconf.
3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
4. 如果找到匹配,将调用相应的视图函数
5. 视图函数返回一个HttpResponse
6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来。
数据库的建立
编辑mysite/settings.py。它是一个普通的Python模块,带有模块级别的变量,用来表示Django的配置。
在 DATABASES 'default'条目中修改以下的配置以匹配你的数据库连接的设置:
ENGINE – 'django.db.backends.sqlite3',
'django.db.backends.postgresql_psycopg2',
'django.db.backends.mysql'
'django.db.backends.oracle'。
其它的后台也可以支持。
NAME – 数据库的名称。如果你使用SQLite,数据库将是你计算机上的一个文件; 如果是这样的话,NAME应该是这个文件的绝对路径,包括文件名。默认值是os.path.join(BASE_DIR, 'db.sqlite3'),它将文件保存在你项目的目录中。
当你的项目使用SQLite之外的其他数据库引擎时,就必须添加USER、 PASSWORD、HOST等额外的设置。
注
如果你使用PostgreSQL或者MySQL,确保到此你已经建立好一个数据库。
如果你使用SQLite,你不需要事先创建任何东西 —— 数据库文件将会在需要的时候自动创建。
当你编辑mysite/settings.py时,请设置TIME_ZONE为你自己的时区。
在site路径下运行:python manage.py migrate,创建该数据库表。migrate查看INSTALLED_APPS设置并根据mysite/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化(我们稍后会讲到)。你会看到对每次迁移有一条信息。如果你有兴趣,可以运行你的数据库的命令行客户端并输入dt (PostgreSQL), SHOW TABLES; (MySQL)或.schema (SQLite)来显示Django创建的表。
请注意文件顶端的INSTALLED_APPS设置。它保存这个Django实例中激活的所有的Django应用的名字。 应用可以在多个项目中使用,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。
默认情况下,INSTALLED_APPS包含下面的应用,它们都是Django 与生俱来的:
django.contrib.admin —— 管理站点。你将在本教程的第2部分使用到它。
django.contrib.auth —— 认证系统。
django.contrib.contenttypes —— 用于内容类型的框架。
django.contrib.sessions —— 会话框架。
django.contrib.messages —— 消息框架。
django.contrib.staticfiles —— 管理静态文件的框架。
这些应用,默认包含在Django中,以方便通用场合下使用。
更改应用的IP、端口和自动重载
更改端口
默认情况下,runserver命令在内部IP的8000端口启动开发服务器。
如果你需改变服务器的端口,把要使用的端口作为一个命令行参数传递给它。 例如,这个命令在8080端口启动服务器:
$ python manage.py runserver 8080
如果你需改变服务器的IP地址,把IP地址和端口号放到一起。 因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用):
$ python manage.py runserver 0.0.0.0:8000
开发服务器的所有文档可以在runserver的参考手册中找到。
runserver的自动重载
开发服务器会根据需要自动重新载入Python代码。 你不必为了使更改的代码生效而重启服务器。 然而,一些行为比如添加文件,不会触发服务器的重启,所以在这种情况下你需要手动重启服务器。
展开阅读全文