感觉再不按套路出牌就要被群众围殴了,那咱么就开始吧。
打开CMD黑窗口,我们输入
workon django_env
我们先看看怎么在黑窗口里面穿梭于各个URL之间,你先看你现在所处的位置,一般来说,新打开的CMD,都是处于
C:/User/your_name
这个位置,我们先到D盘,根目录从C到D,我们只需要输入
D:
就可以到达D盘了,如果你的django_env是激活的那么,他会自动跳转到
D:/py_env/django_env
这个目录下,我们当然可以把项目就建在这里,但也可以建在别的地方。所以请输入(注意cd和两点之间有一个空格)
cd
cd是前往的意思,两个小点指的是父亲,意思是前往当前目录的父目录,
于是,我们来到
D:/py_env
目录下,再次输入
cd
于是我们达到
D:/
这已经是D盘的根目录的再输入cd 已经没有什么效果了。如果你之前按照我的教程一步一步来,那么,你已经在在这个根目录上建好了一个叫django_project的空文件夹,如果你没有建好 ,那么请输入
mkdir django_project
创建一个这个文件夹,当然,你也可以在图形界面,打开我的计算机,然后到达位置右键新建文件夹。这里为了逼格和更加熟悉cmd窗口起见,我建议你还是用命令行。
我们cmd的路径(准确的说是工作路径)现在在D盘的根目录,
因此,请输入
cd django_project
表示前往 django_project ,当然,这个时候你得确定django_project是D盘根目录下的一个子目录。
如果,我们还处于
D:py_env/django_env
那么输入
cd django_project是无效的,你得按照我们刚才一步一步抵达D盘,然后在进入到django_project。或者,你可以直接输入绝对路径
cd D:/django_project
使用上面的命令,只要你处于D盘,无论是在哪一级的目录,都可以一步到位。
抵达现场,我们马上就要新建我们的项目了。
激动人心的一刻到了,请在CMD中输入
django-admin startproject mysite
这时,我们创建了一个项目,这个项目的名字叫mysite,等等,说好的做云盘,为毛名字不是mycloud呢?这就要提到django的精妙之处了,新建了一个项目,就相当于,我们在计算机上圈了一块地(D:/django_project/mysite目录以后就是我们网络服务这一块的地盘了),还没开始建展馆,为什么先圈地而不是直接新建一个展馆呢,因为我们圈了地就可以在地上建很多展馆啊,在django看来,云盘啥的,够不上称为一个项目,只能称之为应用(一座展馆),只有将很多展馆放在一起,才能称之为项目,也就是说,一个项目可以包含很多的应用(APP),比如我们的网站可以提供云盘服务,我们也可以,提供个人博客服务,我们还可以开一个讨论某植物的论坛啥的,反正就是为了将来能够提供全家桶服务,所以,云盘只能算做是一个APP。当然,目前我们只这块地上建一座提供云服务的展馆。其他的展馆以后再说。
还是在cmd黑窗口,请输入
dir
用这条指令可以列出当前目录下的子目录和存放文件的情况,
我们可以看到,生成一个叫mysite的子目录,实际上,在mysite的上面还有两个目录,一个目录是一个点,表示自己,也就是django_project本身,另一个目录是两个点,表示父目录,也就是D盘根目录。所以我们看到的是django_project目录的一家三代。
这和图形界面基本是统一的,下图的左上角圈的地方表示的就是父目录,至于本身目录嘛,就没必要刻意用什么图形表示了。
你用鼠标点击某个文件夹,实际上系统内部就是帮你运行了一下
cd 你点击的文件夹
你点击后退,则帮你运行
cd
回到正题,我们看到了一个mysite子目录,所以进去看看,请输入
cd mysite
然后输入
dir
查看情况
发现又有一个mysite目录,坑爹啊,俄罗斯套娃呢这是!
这一看就知道django是外国人搞得工具,子目录跟父目录叫同一个名字(好歹给子一级的目录起个名字叫mysite二世啥的行不。没办法,django设计者这么叫了,我们也不能随便乱改,以后我们把里面的那个mysite叫做子mysite,外面的那个叫父mysite以区分),仔细一看,旁边还有一个managepy,先不不管这个,再进去子mysite看一下,还好,再没有mysite目录了,里面是
里面有4个py文件,看到没有,其中有一个是urlspy,URL之重要,需要专门一个文件来管理,如果你之前有认真看文章的话应该就能差不多猜到它是起什么作用的文件了。除了urlspy,settingspy也是非常重要的,都是用来管理mysite这个项目的,所以,我觉得最后这个mysite文件夹应该叫做mysite_manage因为它里面的东西,和它旁边的managepy一样都是用来管理项目的。
为了让大家对项目结构有更清楚认识,我找了django官网上的
官网下载对应的pyinstall 工具, 我下载的是 PyInstaller-321zip 并解压
2通过cmd 跳转到pyinstaller目录 并执行 setuppy install 进行安装 这时会向你的python路径安装必要的第三方包,当然细节可以不用关心
3 安装成功后 就可以使用了。
TK-GUIpy是我的源程序
一个project包含很多个Django app以及对它们的配置。 技术上,project的作用是提供配置文件,比方说哪里定义数据库连接信息, 安装的app列表, TEMPLATE_DIRS ,等等。 一个app是一套Django功能的集合,通常包括模型和视图
(在应用搜索,搜索然后安装就好了)
打开设置
我之前已经部署了一个,这是第二个
先暂停网站,然后点击设置
其他都是自动生成,最后一行是配置静态文件
映射成功后,在网站目录里会有一个
默认端口是80,如果不是你原来准备的端口。
那么可以先输入baiducom添加,然后把默认的删除掉,再添加域名和你想设置的端口,然后把baiducom删除掉
搞定之后,把网站目录改成你原来的程序目录
最后,在python项目管理器中重启刚设置完的项目
在Django项目开发中,不能像正常web开发一样通过 'imgs/bgjpg' 访问本地静态文件,需要做一些配置,才能实现静态文件的访问。
一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。
二、项目配置
1、打开settingspy,在底部添加:
2、打开urlspy,在 urlpatterns 中添加:(注意,如果你在blog目录下也建立了urlspy,那么就得在blog/urlspy中做修改。别忘了import settings):
(不过我经过实测,不加这一个,也可以完成静态文件的访问)
3、在html模板最上面添加:
然后在需要的地方按照这个格式进行调用,如:
最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。
你的计算机是安装了多个python,而且似乎注册表里也有些混乱。在windows下是可以直接运行setuppy的。不过通常 都是用python setuppy install。 所以看情形还是python安装有些问题。
如果你按你的方法执行成功了,暂时就这样安装包就是了。
2 STATIC_ROOT :这个是配置静态文件存放目录,另外一个作用就是运行收集静态文件的命令(关于命令的部分后面会讲)时,最终静态文件收集存放的位置,注意, 这个配置只会在debug=false时生效(生产环境) (至于为什么之后会讲)。
4 STATICFILES_DIRS :在实际项目开发中,如果我们的静态文件存放在一个或多个目录时,可以定义一个列表,用于存储静态文件,django默认配置并没有这个配置,如果需要,请自己定义,当项目下存在一个或多个静态资源的目录时,非常适合这样定义。注意, 这个配置只在debug=true时生效(开发环境)
8 templates :定义HTML模板文件存放目录,如果你用的是pycharm的IDE的话,在创建项目时,可以根据配置自动创建一个templates目录,pycham会自动帮我们配置,如果没有配置,就需要手动创建,当然,你也可以选择自定义该目录
9 collectstatic :在项目部署时,我们还要进行静态文件的收集,如果手动收集静态文件的话,工程量无疑很大,而且部署后,debug肯定要改为 debug=false ,这时如果不进行静态文件的收集的话,django自带的部分,如admin后台就会出现CSS无法加载的问题,因此,项目部署前,这个 *** 作是是必须的。
django的 djangocontribstaticfiles 提供了一个收集静态文件的命令: python managepy collectstatic ,执行该命令后,会将静态文件收集到配置好的 STATIC_ROOT 中
前提条件
1 为 Python 应用程序安装 virtualenv 和 virtualenv wrapper,目的在于为 Python 项目创建独立的环境。
● 安装 pip
sudo apt-get install python-pip
● 安装 virtualenv
sudo pip install virtualenv
● 创建目录以存储您的 virtualenv
mkdir ~/virtualenvs
● 安装 virtualenwrapper
sudo pip install virtualenvwrapper
● 将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/virtualenvs
● 将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/virtualenvs
● 将 virtualenvwrappersh 添加到 bashrc
将此行添加到 ~/bashrc 的末尾,以便加载 virtualenvwrapper 命令。/usr/local/bin/virtualenvwrappersh
退出,然后重新打开您的 shell,或者使用 bashrc or source ~/bashrc 命令重新加载 bashrc,然后一切准备就绪。
2 安装 git。
apt-get install git
3 安装 Nginx 作为 Web 服务器,这样您便可在其之后运行您的应用程序。
Sudo apt-get install nginx
启动您的第一个 Linux 实例
接下来向您介绍使用阿里云管理控制台运行 ECS 实例的相关步骤。
1 登录到您的帐户,然后导航到“产品与服务”部分下的“云服务器”。单击侧边栏菜单中的概览。这会显示运行中的实例列表。单击购买实例从任意地域购买实例,或者继续到下一步创建新实例。
2 单击侧边栏菜单中的实例。在实例列表中选择所需地域,然后单击右上方栏中的创建实例。
3 系统会将您重新定向到“产品购买”控制台,在此您需要选择偏好的资源包 - 对 ECS 实例和数据传输提供特殊定价的初级资源包或提供两种定价模式的高级购买资源包。您可以根据自身需求选择订阅(按月或按年)或者按量付费。此案例中,我们选择了“按量付费”。
4 在此窗口中,选择要在其中启动 ECS 实例的数据中心地域和可用性区域。如果选择了地域但未选择可用性区域,系统会将实例随机放在任何区域。
5 现在您需要选择自己想要创建的实例类型。根据自身需求,从“生成”选项卡中选择生成实例类型。生成类型根据配置和所用的计算能力表示不同的实例类型。
6 接下来,选择网络类型以启动您的 ECS 实例。可根据自身需求选择经典网络或专有网络。在经典网络中,阿里云以分布式方式分配 IP 地址。它适合于需要简单快速地使用 ECS 的用户。专有网络更多的是一种逻辑隔离私有网络,它支持专用连接。它适合于熟悉网络管理的用户。选择适当的网络类型后,选择网络计费类型:数据传输或固定带宽。在这两种情况下,您都需要设置网络带宽峰值(最大数据传输速率)。
7 现在,您需要选择 *** 作系统。每个选项下都提供了不同 *** 作系统版本的列表。选择 Ubuntu。
8 根据自身需要,从下拉菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”向此列表添加更多磁盘。
9 在“安全设置”部分中,您可以创建密码以提高安全性,或者在此阶段跳过此步骤并稍后从管理控制台执行此 *** 作。
10 在“采购计划”部分中,键入您的实例名称并设置要启动的实例的数量。
11 在“概览”部分查看配置详情和总价,然后单击立即购买。
12 单击开通确认业务订单并启动实例。
13 启动实例后,您可以在控制台的实例选项卡中查看该实例。
安装和部署 Django 应用程序
您已使用阿里云管理控制台创建和启动 ECS 实例,接下来让我们了解如何安装和部署 Django 应用程序。
1 使用 ssh 命令登录到您的服务器
2 输入密码
3 通过创建一个新的 virtualenv 为部署 Django 应用程序设置环境:
mkvirtualenv DjangoApp
要退出新的 virtualenv,请使用 deactivate。
您可以使用 workon 在环境之间切换。要加载或在 virtualenv 之间切换,请使用 workon 命令:workon DjangoApp
4 在您的当前环境中安装 Django
pip install Django
5 使用 django-admin 命令创建样本项目并将目录更改为项目文件夹。
django-admin startproject todoApp
cd todoApp/
6 迁移或引导您的数据库。
python managepy migrate
7 创建超级用户以访问管理面板。
python managepy createsuperuser
8 设置用户后,通过运行由 managepy *** 作的 runserver 命令测试您的应用程序
python managepy runserver 0000:8000
您将看到以下内容在端口 8000 上运行
转至 /admin,这是您的管理面板,您可在此管理应用程序。
现在使用 Nginx 将您的应用程序置于 Web 服务器之后。
9 创建数据库架构 开通 python 环境。
● 将目录更改为 Django 项目目录
● 运行以下命令
python managepy migrate
10 收集所有静态文件(css、js 等)
● 运行以下命令以在任意特定位置收集所有静态文件
Python managepy collectstatic --noinput
● 开发人员负责将 STATIC_URL 路径设置为将收集所有静态文件的位置。
● 这些变量在项目目录内的 settingpy 中定义。
1 STATIC_URL
2 STATICFILES_DIRS
3 STATIC_ROOT
11 使用 uwsgi 服务器安装 uwsgi 库并启动服务器。
pip install uWSGI
● 创建用于部署 Django 应用程序的 ini 文件vim uwsgiini
● 将其保存到应用程序目录上的 uwsgiini。如需进一步了解如何编写 ini 文件,请参阅 Python/WSGI 应用程序快速入门。运行此命令以启动您的应用程序。
uwsgi uwsgiini (您的 ini 文件)
12 更改 nginx 配置文件以用于应用程序。
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgisock; } }
13 重启 nginx,随后您的应用程序将启动并在端口 80 上的 nginx 之后运行。
以上就是关于Django新手教程6,新建一个项目全部的内容,包括:Django新手教程6,新建一个项目、如何将 django 1.7 程序打包成 exe 程序、django新建app一定要通过命令startapp吗如何创建二级目录的app等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)