manjaro(linux)下配置 Anaconda + Django + pycharm开发环境

由于使用的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
深度截图_选择区域_20181219054747.png

接下来创建一个新的环境来安装Django,使用"conda cteate"命令来创建,

    conda create --name django-learning python=3
深度截图_选择区域_20181219054842.png

提示你Proceed(y/n)?输入y进行安装

接下来进行访问这个新环境

    source activate django-learning

安装完成后就可以进行安装Django了,使用pip进行安装。

    pip install django==2.0.2

上面的说不不推荐使用,这里为了简单,加上sudo再次执行。

深度截图_xfce4-terminal_20181219055055.png

使用下面语句进行测试自己的电脑安装好没有

    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

如下图则切换成功。


深度截图_选择区域_20181219053018.png

创建项目

项目名称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等。

深度截图_选择区域_20181219053841.png

如上图表示服务运行起来之后,可以在浏览器输入默认的访问地址127.0.0.1:8000


深度截图_选择区域_20181219054007.png

本地环境直接安装django

pycharm识别不了django的包引用,应该是项目配置哪里出问题了,这里先不去解决了,前面的过程就相当于学习了。

直接在当前环境安装django

sudo pip install django

然后解决环境依赖问题

 sudo conda  install -p /home/philos/anaconda3 django -y

pycharm可以正常识别了。

接下来进入代码层面的一些简单修改

项目结构

mamage.py

与项目进行交互的命令行工具集的接口,项目管理器
执行manage查看所有命令

python manage.py
深度截图_选择区域_20181219062052.png

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中声明模块的文件,内容默认为空。

深度截图_选择区域_20181219061935.png
深度截图_sun-awt-X11-XFramePeer_20181219061415.png

添加页面

在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',
            ],
        },
    },
]
深度截图_选择区域_20181219071401.png

再次打开浏览器刷新,成功显示


深度截图_选择区域_20181219071621.png

设置用自己的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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容