django搭建示例-ubantu环境
python3安装
---------------------------------------------------------------------------
最新的django依赖python3,同时ubantu系统默认自带python2与python3,这里单独安装一套python3,并且不影响原来的python环境
django demo使用sqlite3,即python中的一个模块,所以必须在安装 python前先安装sqlite3
下载最新的sqlite3解压并安装,root用户下操作
cd sqlite-snapshot-201905242258/
./configure -prefix=/usr/local/sqlite3
make
make install
vim /etc/profile
export PATH=/usr/local/sqlite3/bin:$PATH
source /etc/profile
sqlite3 versiion
SQLite version 3.29.0 2019-05-24 22:58:16
Enter ".help" for usage hints.
然后进行python的安装,以后的操作皆在普通用户下执行,必要时会使用sudo
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
apt-get install gcc
python源码安装
--------------------------------------------------------------------------------
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar -zxvf Python-3.7.3.tgz
sudo mv Python-3.7.3 /usr/local/
cd Python-3.7.3/
source /etc/profile
./configure --prefix=/usr/local/python37
make
make install
setuptools
-----------------------------------------------------------------
wget https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip
unzip setuptools-41.0.1.zip
sudo python setup.py install
pip
--------------------------------------------------------------
tar -zxvf pip-10.0.1.tar.gz
cd pip-10.0.1/
sudo /usr/local/python37/bin/python3 setup.py install
更新pip
/usr/local/python37/bin/pip install --upgrade pip
# pip --version
pip 19.1.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
在普通用户下配置Python
------------------------------------------------------------------
sudo mkdir /disk
cd /disk
mkdir python37
cd python37/
mkdir bin
cd bin/
sudo ln -s /usr/local/python37/bin/python3.7 python
将安装的python映射到普通用户下,这样只有该用户环境为Python3 环境
cd
vim .bashrc
export PATH=/disk/app/python37/bin:/usr/local/python37/bin:$PATH
source .bashrc
python安装结束,并且配置一个普通用户的python3环境,并未影响其他用户的默认python环境,这意味着如果你的服务器上有一些python脚本在运行,本次操作对这些程序无任何影响
django安装
---------------------------------------------------------------------------
安装后可以使用一系统的django命令,如果已经安装过则不需要再次安装
存在命令即表示已经安装过
$ which django-admin
/usr/local/python37/bin/django-admin
否则进行安装
mkdir /disk/test_dj
cd /disk/test_dj
git clone https://github.com/django/django.git
pip install -e django/
新建一个项目
------------------------------------------------------------------------
cd
mkdir code
cd code/
django-admin startproject mysite
fei@ubuntu:~/code$ cd mysite/
fei@ubuntu:~/code/mysite$ ls
manage.py mysite
$ vim mysite/settings.py
DEBUG = True
ALLOWED_HOSTS = ['*']
下面的启动需要sqlite3
python manage.py runserver 0:8302
http://127.0.0.1:8302/
新建应用
------------------------------------------------------------------------
设置模板路径
html页面的加载默认以模板路径为根,其中BASE_DIR为django自带变量
mkdir templates
vim mysite/settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/templates",],
创建应用
python manage.py startapp polls
编辑视图
vim polls/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("你好")
def demo(request):
return render(request, 'demo.html')
def ok(request):
return HttpResponse("OK")
创建页面
创建视图中的跳转页面demo.html
vim templates/demo.html
<html>
<body>
<h1>哈哈哈</h1>
</body>
</html>
配置路径
vim polls/urls.py
from django.conf.urls import include, url
from . import views
urlpatterns = [
#url(r'^index', views.index, name='index'),
url(r'demo',views.demo,name='demo'),
url(r'ok',views.ok,name='ok')
]
主项目路径
在应用中创建urls.py文件管理路径
将polls模板的路径添加到主项目中
vim mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'polls', include('polls.urls',namespace="pools")),
]
启动并访问
python manage.py runserver 0:8308
http://127.0.0.1:8308/polls/demo
最新文章
- linux(centos)下挂载ntfs文件系统
- 代码生成工具——CodeSmith
- u盘中放入大于4g单独文件失败解决
- 设计模式学习起点 UML类图笔记
- (转)STL中set的用法
- 在openshift上创建django应用
- php连接ftp
- 10.25 noip模拟试题
- App IM 之 环信
- 球谐光照(Spherical Harmonics Lighting)及其应用-应用篇
- 为什么会有可恶的腾讯电脑管家&;怎么干掉它-电脑开机出现腾讯电脑管家-无法卸载腾讯电脑管家
- Sql学习笔记(二)—— 条件查询
- 微信PC客户端无法发送图片,怎么解决?
- background-size 导致的背景不居中问题
- jQuery源码分析-jQuery中的循环技巧
- SqlerMonitor-复制
- 遇到了IE10不能登录的问题,很早就有解决方案了
- Apache, service httpd stop, Address already in use:
- java中的一些执行顺序,代码块,静态,构造,成员。。。。(转的)
- 《DSP using MATLAB》示例Example 8.17
热门文章
- SpringCloud升级之路2020.0.x版-31. FeignClient 实现断路器以及线程隔离限流的思路
- sqlalchemy flush commit
- c++学习笔记2(const关键词的用法)
- 问题 B: 比大小
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
- java web 在线编辑Excel -- x-spreadsheet
- 菜鸡的Java笔记 笔记
- Python 函数 参数传递
- 关于JAVA中顺序IO的基本操作
- 洛谷 P3714 - [BJOI2017]树的难题(点分治)