由于使用的pycharm是社区版本的,django需要自行安装,那么我们下面就来折腾一番。
Django介绍
Django是一个开放源代码的Web应用框架,由Python写成。运用了MVT模式(Model,View,Template),主要目标是使得开发复杂的、数据库驱动网站变得简单,Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。Django还提供了可选的创建、阅读、更新、删除界面。
Anaconda安装Django2.0
在Linux环境下Anaconda安装Django,首先你需要确保安装Anaconda。查看前面的文章有涉及,这里就不展开了。
输入下面代码,就可以看到你创建的一些环境。
conda info --envs
接下来创建一个新的环境来安装Django,使用"conda cteate"命令来创建,
conda create --name django-learning python=3
提示你Proceed(y/n)?输入y进行安装
接下来进行访问这个新环境
source activate django-learning
安装完成后就可以进行安装Django了,使用pip进行安装。
pip install django==2.0.2
上面的说不不推荐使用,这里为了简单,加上sudo再次执行。
使用下面语句进行测试自己的电脑安装好没有
python -c "import django;print(django.get_version())"
退出环境
source deactivate
卸载环境
conda remove --name django-learning --all
在windows环境下,流程基本一样,只是唯一一点儿区别是:不使用source,直接用activate [your environment name]就可以
PyCharm开源社区版+Django搭建web开发环境
因为社区版不像商业版那样可以直接通过Django来创建项目,所以我们需要先创建项目,再通过Pycharm打开。
默认的情况下,Pycharm的项目会保存在/Home/PycharmProjects下面。我们可以在Home目录下,创建这个文件夹,然后在文件夹里面打开终端。
由于我们的django是安装在anaconda下面的隔离环境的,所以pycharm是找不到的,这里通过命令行切换
source activate django-learning
如下图则切换成功。
创建项目
项目名称Demo自行修改
django-admin startproject Demo
创建app应用
打开Pycharm,open,选择刚才创建的项目,打开Termina,创建web应用,应用名称web自行修改
python manage.py startapp web
这里只是创建了项目module,还没有生成对应的表,作用到数据库,这个时候需要执行
在数据库中创建默认表格
python manage.py migrate
开启服务
使用 python manage.py runserver 来运行服务器。
python manage.py runserver
这只适用测试环境中使用。正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等。
如上图表示服务运行起来之后,可以在浏览器输入默认的访问地址127.0.0.1:8000
本地环境直接安装django
pycharm识别不了django的包引用,应该是项目配置哪里出问题了,这里先不去解决了,前面的过程就相当于学习了。
直接在当前环境安装django
sudo pip install django
然后解决环境依赖问题
sudo conda install -p /home/philos/anaconda3 django -y
pycharm可以正常识别了。
接下来进入代码层面的一些简单修改
项目结构
mamage.py
与项目进行交互的命令行工具集的接口,项目管理器
执行manage查看所有命令
python manage.py
Demo目录:
项目的一个容器,包含项目的一些基本配置,目录名称不建议修改
Demo/wsgi.py (Python web server gateway interface)
python 服务器网关接口,python应用与web服务器之间的接口,该文件在项目开发中一般不做修改
urls.pyweb
url配置文件,Django项目中所有地址(页面)都需要我们自己去配置URL
settings.py
项目的总配置文件,里面包含了数据库、web应用、时间等各种配置里面包含:
1)BASE_DIR,项目的根目录
2)SECRET_KEY,安全码,Django生成项目的时候自动生成
3)DEBUG,调试开关,项目发布的时候需要关闭
4)INSTALLED_APPS,自己创建的应用,需要在这里添加注册,相当于引用module,组件化插入
5):MIDDLEWARE,中间件,Django自带的工具集
6):ROOT_URLCONF,配置URLS的路径
7):TEMPLATES,模板的配置文件
8):DATABASES,数据库配置
9):STATIC_URL,静态文件的地址,Static files (CSS, JavaScript, Images)
init.py
python中声明模块的文件,内容默认为空。
添加页面
在urls.py中添加代码(路由)
path(r’mainpage’, views.index, name=’index’),
这里mainpage是需要在浏览器中输入的接口名称,比如http://127.0.0.1:8000/mainpage,而index则是输入该网址之后,相应会被调用的接口。当index接口被调用时,根据上一步中的代码,index.html就会被加载。此时用户就会看到index.html的内容。
注意,如果是网站主页的话,可以写为path(r”, views.index, name=’index’),这里将接口名称置空,表示在浏览器输入http://127.0.0.1:8080,就会调用index接口,从而加载index.html页面。
在views.py中添加index接口
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, 'index.html')
新建相关文件夹
在Demo目录下,新建templates、static两个文件夹(文件夹名字千万不能错),templates文件夹中,存放html文件;static文件夹存放资源文件,该文件夹中新建css、img、js三个文件夹,存放对应的资源文件。利用pycharm在templates文件目录下新建一个index.html的空html文件
index.html body添加
Hello World~ This is my first page.
注意在PyCharm中修改代码保存后,不用重启,PyCharm会自动部署新代码,非常方便,直接刷新浏览器即可。
打开浏览器,输入http://127.0.0.1:8000/mainpage
修改位置
默认打开的是根目录,想要/mainpage访问到,需要修改模板的DIRS路径,从而找到对应的视图。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 修改位置
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
再次打开浏览器刷新,成功显示
设置用自己的iP地址访问项目
1.首先需要执行>python manage.py runserver 0.0.0.0:8000。
2.在setting.py里面需要添加ALLOWED_HOSTS=”*”。
0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
查自己IP,直接百度“IP”,即可看到自己的IP