导读:很多朋友问到关于怎么在django打开别的文件的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
django中怎么载入css等静态文件
Django版本1.10
网站通常需要js,css,图片等文件,在Django中,我们把这些文件称为“静态文件”(static files)。Django提供django.contrib.staticfiles来管理他们。 使用方法如下:
1.在settings.py中定义你的STATIC_URL:
STATIC_URL=\'/static/\'1
2.在项目中,static文件的目录如下图所示:
项目名:ProjetTestDjango;APP名:peojetDjango,static 文件夹在APP目录下。
3.在settings.py中添加项目APP:
4.在HTML文件中调用:
{% load static %}link rel=\"stylesheet\" href=\"{% static \'css/style.css\' %}\" type=\"text/css\" media=\"all\"12
img class=\"img\" src=\"{% static \'images/logos/Google_Translate_Icon.png\' %}\" width=\"36\" height=\"36\"1
django 怎么配置可以获取静态文件
可以用服务器配置,js、css、img转到相应路径。也可以在url.py里加入(r\'^media/(?Ppath.*)$\',\'django.views.static.serve\',{\'document_root\': settings.STATIC_PATH}),可以在settings.py里设置也可以使用绝对路径。意思是/media/?.(js|css|img|others)的静态文件在那个路径下。
Django新手教程6,新建一个项目
感觉再不按套路出牌就要被群众围殴了,那咱么就开始吧。
打开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以区分),仔细一看,旁边还有一个manage.py,先不不管这个,再进去子mysite看一下,还好,再没有mysite目录了,里面是
里面有4个py文件,看到没有,其中有一个是urls.py,URL之重要,需要专门一个文件来管理,如果你之前有认真看文章的话应该就能差不多猜到它是起什么作用的文件了。除了urls.py,settings.py也是非常重要的,都是用来管理mysite这个项目的,所以,我觉得最后这个mysite文件夹应该叫做mysite_manage因为它里面的东西,和它旁边的manage.py一样都是用来管理项目的。
为了让大家对项目结构有更清楚认识,我找了django官网上的图片
如何在django中使用ansible-playbook命令执行yaml 文件
一、安装
1、安装第三方epel源
centos 5的epel
rpm -ivh
rpm -ivh
17:01:30 # cat /etc/issue
CentOS release 6.5 (Final)
Kernel \\r on an \\m
由于是6版本所以安装6的epel
yum install ansible
如果需要自定义module或者想阅读源码、使用最新版本,可以去github里下载源码
git clone
17:22:08 # cd /etc/ansible/
root@ip-10-10-10-10:/etc/ansible
17:23:27 # ll
total 12
-rw-r--r-- 1 root root 5113 Dec 29 03:00 ansible.cfg
-rw-r--r-- 1 root root 965 Dec 29 03:00 hosts
其中ansible.cfg是配置文件,hosts是管理主机信息
17:24:44 # cat hosts
172.17.0.2:49154
172.17.0.4:49155
[zabbix]
172.17.0.2:49154
172.17.0.4:49155
[vpn]
172.17.0.10
16:20:57 # ansible 127* -m ping
SSH password:
127.0.0.1 | success {
\"changed\": false,
\"ping\": \"pong\"
}
root@ip-10-10-10-10:/etc/ansible
16:21:05 # ansible 172* -m ping
SSH password:
172.17.0.5 | success {
\"changed\": false,
\"ping\": \"pong\"
}
172.17.0.4 | success {
\"changed\": false,
\"ping\": \"pong\"
}
172.17.0.2 | success {
\"changed\": false,
\"ping\": \"pong\"
}
如果你有多台服务器的话,想并发运行,可以使用-f参数,默认是并发5
11:30:35 # ansible vpn -m shell -a \"echo $TERM\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success | rc=0
xterm
11:30:44 # ansible vpn -m copy -a \"src=/tmp/server dest=/tmp/server\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success {
\"changed\": true,
\"dest\": \"/tmp/server\",
\"gid\": 505,
\"group\": \"test\",
\"md5sum\": \"e8b32bc4d7b564ac6075a1418ad8841e\",
\"mode\": \"0664\",
\"owner\": \"test\",
\"size\": 7,
\"src\": \"/home/test/.ansible/tmp/ansible-1402630447.45-253524136818424/source\",
\"state\": \"file\",
\"uid\": 503
}
去客户端查看文件是否传输过来
11:34:57 # ansible vpn -m shell -a \"ls -l /tmp/\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success | rc=0
total 76
-rw-r--r-- 1 root root 41692 May 21 13:02 config
-rw-r--r-- 1 root root 1228 Jun 12 18:24 install_pptpd_vpn.sh
-rw-rw-r-- 1 test test 7 Jun 13 19:33 server
-rw-r--r-- 1 root root 82 Jun 12 18:21 test.log
-rw-r--r-- 1 root root 290 Jun 12 18:21 test.sh
-rw-r--r-- 1 root root 2444 Apr 28 2012 vpn_centos6.sh
-rw------- 1 root root 727 Jun 10 18:21 yum_save_tx-2014-06-10-18-21UrqDAp.yumtx
-rw-rw-r-- 1 zabbix zabbix 3124 Jun 12 21:32 zabbix_agentd.log
-rw-rw-r-- 1 zabbix zabbix 5 Jun 12 21:32 zabbix_agentd.pid
11:35:09 # ansible vpn -m shell -a \"cat /tmp/server\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success | rc=0
server
还有另外一个模块file,可以修改用户与权限
13:50:07 # ansible vpn -m shell -a \"ls -l /tmp/server\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success | rc=0
-rw-rw-r-- 1 test test 7 Jun 13 19:33 /tmp/server
server文件是664权限,用户与组都是test
13:51:17 # ansible vpn -m file -a \"dest=/tmp/server mode=755 owner=root group=root\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success {
\"changed\": true,
\"gid\": 0,
\"group\": \"root\",
\"mode\": \"0755\",
\"owner\": \"root\",
\"path\": \"/tmp/server\",
\"size\": 7,
\"state\": \"file\",
\"uid\": 0
}
root@ip-10-10-10-10:/etc/ansible
13:51:31 # ansible vpn -m shell -a \"ls -l /tmp/server\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success | rc=0
-rwxr-xr-x 1 root root 7 Jun 13 19:33 /tmp/server
14:20:30 # ansible vpn -m yum -a \"name=nmap state=installed\" -u test --private-key=denglei -K
SSH password:
sudo password [defaults to SSH password]:
172.17.0.10 | success {
\"changed\": true,
\"msg\": \"\",
\"rc\": 0,
\"results\": [
\"Loaded plugins: fastestmirror, security\\nLoading mirror speeds from cached hostfile\\n * epel: mirrors.hust.edu.cn\\nSetting up Install Process\\nResolving Dependencies\\n-- Running transaction check\\n--- Package nmap.x86_64 2:5.51-3.el6 will be installed\\n-- Finished Dependency Resolution\\n\\nDependencies Resolved\\n\\n================================================================================\\n Package Arch Version Repository Size\\n================================================================================\\nInstalling:\\n nmap x86_64 2:5.51-3.el6 Base 2.7 M\\n\\nTransaction Summary\\n================================================================================\\nInstall 1 Package(s)\\n\\nTotal download size: 2.7 M\\nInstalled size: 9.7 M\\nDownloading Packages:\\nRunning rpm_check_debug\\nRunning Transaction Test\\nTransaction Test Succeeded\\nRunning Transaction\\n\\r Installing : 2:nmap-5.51-3.el6.x86_64 1/1 \\n\\r Verifying : 2:nmap-5.51-3.el6.x86_64 1/1 \\n\\nInstalled:\\n nmap.x86_64 2:5.51-3.el6 \\n\\nComplete!\\n\"
]
}
三、playbook配置管理
A.进行一下shell模块操作,测试删除文件
先查看一下客户端的server-test是否存在
[root@puppet ansible]# ansible vpn -m shell -a \"ls -l /tmp/server-test\" -u test --private-key=/root/denglei -k
SSH password:
172.17.0.10 | success | rc=0
-rw-rw-r-- 1 test test 7 Jun 14 00:37 /tmp/server-test
然后写一个删除的playbook
[root@puppet ansible]# cat test.yml
---
- hosts: vpn
remote_user: test
tasks:
- name: delete /tmp/server-test
shell: rm -rf /tmp/server-test
[root@puppet ansible]# ansible-playbook test.yml --private-key=/root/denglei -k
[WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (ie. yum update gmp).
SSH password:
PLAY [vpn] ********************************************************************
GATHERING FACTS ***************************************************************
ok: [172.17.0.10]
TASK: [delete /tmp/server-test] ***********************************************
changed: [172.17.0.10]
PLAY RECAP ********************************************************************
172.17.0.10 : ok=2 changed=1 unreachable=0 failed=0
[root@puppet ansible]# ansible vpn -m shell -a \"ls -l /tmp/server-test\" -u test --private-key=/root/denglei -k
SSH password:
172.17.0.10 | FAILED | rc=2
ls: cannot access /tmp/server-test: No such file or directory
B.进行一下template模块操作,测试文件传输
[root@puppet ansible]# cat copy.yml
---
- hosts: vpn
remote_user: test
tasks:
- name: copy local server to client /tmp/server-test
template: src=/tmp/server dest=/tmp/server-test
[root@puppet ansible]# ansible-playbook copy.yml --private-key=/root/denglei -k
[WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (ie. yum update gmp).
SSH password:
PLAY [vpn] ********************************************************************
GATHERING FACTS ***************************************************************
ok: [172.17.0.10]
TASK: [copy local server to client /tmp/server-test] **************************
changed: [172.17.0.10]
PLAY RECAP ********************************************************************
172.17.0.10 : ok=2 changed=1 unreachable=0 failed=0
[root@puppet ansible]# ansible vpn -m shell -a \"ls -l /tmp/server-test\" -u test --private-key=/root/denglei -k
SSH password:
172.17.0.10 | success | rc=0
-rw-rw-r-- 1 test test 7 Jun 14 17:07 /tmp/server-test
C.使用service模块,测试一下服务重启
django一个文件两种方法打开后的内容不一样,是怎么回事??
不能加载是因为你没有配置好static目录。如果你在django前面加一个nginx或者是apache2,这个当然就不需要配置 。否则你需要在settings里设置static, 在urls里也要加一条。
urls.py内容显然与编辑无关。世界上没有鬼。
原因应该是你的文件的缺省目录不一样。在工程目录下有一个,在view目录下还有一个。当然不相同。
如何在django中使用Echarts的js文件
1. 选择正确的echarts.js,开发版选择echarts.baidu.com上的源码版,避免出现问题
2. 在项目主目录中新建static文件夹,里面建立js、css、images文件夹
3. 在settings文件中新增如下代码配置:
复制代码
STATIC_URL = \'/static/\'
STATIC_ROOT = os.path.join(BASE_DIR, \'static\')
STATICFILES_DIRS = (
(\'css\', os.path.join(STATIC_ROOT, \'css\').replace(\'\\\\\', \'/\')),
(\'js\', os.path.join(STATIC_ROOT, \'js\').replace(\'\\\\\', \'/\')),
(\'images\', os.path.join(STATIC_ROOT, \'images\').replace(\'\\\\\', \'/\')),
)
复制代码
4. 在html页面引入本地js文件static/js/echarts.js
script type=\"text/javascript\" src=\"/static/js/echarts.js\"/script
5. 启动python Django服务器
python3 manage.py runserver
6. 刷新页面,OK
成功将网络echarts.js文件改成引用本地echarts.js文件
结语:以上就是首席CTO笔记为大家介绍的关于怎么在django打开别的文件的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!
版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。