django從入門到放棄之001.初探

環境:爲了使服務器可以開發多個應用程序,環境版本互不影響,利用virtualenv來建立獨立隔離的環境進行開發使用。python

#安裝virtualenv:mysql

[root@vps django]# pip3 install virtualenvsql

#建立一個虛擬環境  數據庫

[root@vps django]# virtualenv django_envdjango

Using base prefix '/usr/local'服務器

New python executable in /django/django_env/bin/python3.5app

Also creating executable in /django/django_env/bin/pythonide

Installing setuptools, pip, wheel...done.ui

#使用虛擬環境spa

[root@vps django]# source django_env/bin/activate

#在虛擬環境下安裝django

(django_env) [root@vps django]# pip3 install django==1.10


術語:

project的做用是提供配置文件,比方說哪裏定義數據庫鏈接信息, 安裝的app列表,TEMPLATE_DIRS ,等等。

一個app是一套Django功能的集合,一般包括模型和視圖,按Python的包結構的方式存在。

例如,Django自己內建有一些app,例如註釋系統和自動管理界面。 app的一個關鍵點是它們是很容易移植到其餘project和被多個project複用。

#1.建立一個項目project

(django_env) [root@vps django]# django-admin startproject my_project

建立一個項目之後,會生成幾個文件

wKioL1hzciLQetdQAAAQ6d63izA016.png-wh_50

#2.建立應用app,下面兩種方法均可以

(django_env) [root@vps my_project]# django-admin startapp first_app

(django_env) [root@vps my_project]# python3 manage.py startapp second_app

wKioL1hzcjeCpWqoAAAk1Zhhys4132.png-wh_50

#3.鏈接數據庫,Python3中使用pymsql鏈接MySQLdb,不然會遇到下面的坑

wKiom1hzcknzjQXBAAAZVtegWRU698.png-wh_50

解決方法:

    1).安裝pymysql輪子:

    (django_env) [root@vps my_project]# pip3 install pymysql

    2). 執行成功後,打開__init__.py,添加以下:

wKioL1hzclfwg4p3AAAND1ZnIf0424.png-wh_50

    3).修改settings.py :

wKioL1hzcmrxA037AAAW4j9Vv30261.png-wh_50

    4).同步數據庫:

    這種方法能夠建立表,當你在models.py中新增了類時,運行它就能夠自動在數據庫中建立表了,不用手動建立。

    (django_env) [root@vps my_project]#python3 manage.py migrate

    數據庫同步成功後,鏈接的庫中會生成一些表。

wKiom1hzcnvAW3cKAAAamTfK2g8250.png-wh_50

#4.使用自帶的開發服務器,只在開發時調試使用,不建議在線上使用

(django_env) [root@vps my_project]# python3 manage.py  runserver 0.0.0.0:8000

Performing system checks...

System check identified no issues (0 silenced).

January 04, 2017 - 02:24:16

Django version 1.10, using settings 'my_project.settings'

Starting development server at http://0.0.0.0:8000/

Quit the server with CONTROL-C.

[04/Jan/2017 02:25:15] "GET / HTTP/1.1" 200 1767

Not Found: /favicon.ico

wKioL1hzco6yUYKmAABfb1P7B6I820.png-wh_50

#建立後臺登陸帳號密碼

(django_env) [root@vps my_project]# python3 manage.py createsuperuser

Username (leave blank to use 'root'): admin

Email address: admin@admin.com

Password:

Password (again):

wKioL1hzcqLD32OmAABS2JWjk8U257.png-wh_50

廬山真面貌

相關文章
相關標籤/搜索