歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu上Django使用簡單示例

Ubuntu上Django使用簡單示例

日期:2017/2/28 13:44:18   编辑:Linux教程

Django是用Python寫的一個非常著名的web框架,下面講下在Ubuntu上怎麼部署及使用。

1、部署Django

1.1、python相關部署

1.1.1 、安裝python

一般ubuntu上都默認裝了python,可以使用python -V查看下版本。
root@ubuntu:/# python -V
Python 2.7.3

1.1.2、安裝setuptools

裝了這個就可以用easy_install安裝很多python庫了

apt-get install python-setuptools

1.1.3、安裝python-dev
後面安裝sqlite的時候會用到,不裝的話會提示can't find python.h。類庫內含需要編譯的調用python api的c/c++文件時得安裝它。
apt-get install python2.7-dev

1.2、部署sqlite
Django會默認使用數據庫sqlite,這個可能是個最輕便的數據庫了,可以像文件一樣操作,沒有獨立的進程。
apt-get install sqlite3
apt-get install libsqlite3-dev
easy_install pysqlite

1.3、部署Django
easy_install django

執行如下命令就會展示django版本,這裡看到的是1.10.3

root@ubuntu:/# python
Python 2.7.3 (default, Jun 22 2015, 19:43:34)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 10, 3, u'final', 0)

2、使用Django

2.1、創建項目

django-admin.py startproject py_website

#會在當前目錄下生成文件夾py_sebsite

#django-admin.py在django安裝成功後在任意路徑下都可以調用

root@ubuntu:/home/django_proj# cd py_website/
root@ubuntu:/home/django_proj/py_website# ls -a
. .. manage.py py_website

2.2、創建應用程序

python manage.py startapp pyapp

會在當前目錄下創建文件夾pyapp

root@ubuntu:/home/django_proj/py_website/pyapp# ls -a
. admin.py __init__.py models.py views.py
.. apps.py migrations tests.py

這裡沒改動model.py文件,假如有改動了需要同步得執行如下兩個命令來同步(都先添加了應用到setting.py後才能執行此命令)

python manage.py makemigrations

python manage.py migrate

這個版本1.10,老點的版本一般是用python manage.py syncbd來同步

2.3、添加應用程序到setting.py

setting.py文件在py_website/py_website下。

# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pyapp' #添加這個
]

2.4、啟動服務器

root@ubuntu:/home/django_proj/py_website# python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 12, 2016 - 07:09:12
Django version 1.10.3, using settings 'py_website.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

通過python manage.py runserver成功啟動服務器後,你在ubuntu上用浏覽器打開

localhost:8000/admin就會看到一個登陸頁面了。

2.4.1、端口被占用了怎麼整?

有時8000端口可能會被占用了。找出占用端口的進程並kill掉

root@ubuntu:/# netstat -anp|grep 8000
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 32149/python

root@ubuntu:/#kill -9 32149

2.4.2、不是本地訪問怎麼整?

編輯setting.py文件

ALLOWED_HOSTS = ['192.168.253.135']

填你django所在的服務器ip。

runserver不加參數默認只能本地訪問。如果這樣啟動

python manage.py runserver 0.0.0.0:8000

0.0.0.0:8000 表示讓Django監聽所有網絡接口和IP地址,否則默認監聽127.0.0.1:8000,也就是只允許本機訪問。

你在其他任何能訪問這個ip的地方輸入如下url就能訪問了

http://192.168.253.135:8000/admin

Ubuntu 14.04下Django+MySQL安裝部署全過程 http://www.linuxidc.com/Linux/2016-02/128714.htm

Ubuntu 16.04下安裝部署 Nginx+uWSGI+Django1.9.7 http://www.linuxidc.com/Linux/2016-07/133484.htm

Ubuntu 16.04下配置Django項目 http://www.linuxidc.com/Linux/2017-01/139417.htm

Django 的詳細介紹:請點這裡
Django 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved