天天看點

[原]Python Web架構Django初嘗試

之前沒接觸Python Web架構Django,今天下午抽1小時時間嘗試了一下,總結一下,供各位和我一樣的Django新手們閱讀,如果有問題,請高手們指教。

1.安裝 Django

1.按照以下步驟下載下傳并安裝 Django, 多種下載下傳安裝方式:

  1).直接下載下傳安裝:

    root@localhost svn co http://code.djangoproject.com/svn/django/trunk/ django_src

    root@localhost cd django_src

    root@localhost python setup.py install

  2).或者通過安裝包下載下傳安裝:

    下載下傳:https://www.djangoproject.com/download/1.5.1/tarball/

    tar xzvf Django-1.5.1.tar.gz

    cd Django-1.5.1

    sudo python setup.py install

  3).也可以通過git安裝:

    git clone https://github.com/django/django.git

  4)通過pip安裝:

  pip install Django==1.5.1

如果裝了之後有問題,建議直接閱讀:https://docs.djangoproject.com/en/stable/intro/install/,這裡有詳細的安裝辦法。

2. 使用 Django 管理工具

Django 管理工具

在安裝 Django 之後,您現在應該已經有了可用的管理工具 django-admin.py。下面是給出了這個管理工具中可以使用的一些指令:

[root@localhost mysite]# django-admin.py
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Print traceback on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    cleanup
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    runfcgi
    runserver
    shell
    sql
    sqlall
    sqlclear
    sqlcustom
    sqldropindexes
    sqlflush
    sqlindexes
    sqlinitialdata
    sqlsequencereset
    startapp
    startproject
    syncdb
    test
    testserver
    validate      

3.檢視目前Django版本情況:

python -c "import django; print(django.get_version())"      

4.建立工程:

django-admin.py startproject mysite      

可見結構如下:

mysite/

    manage.py

    mysite/

        __init__.py

        settings.py

        urls.py

        Wsgi.py      

5.啟動服務:

python manage.py runserver

python manage.py runserver 8080

python manage.py runserver 0.0.0.0:8000      

可以看到Web如下:

[原]Python Web架構Django初嘗試

6.配置資料庫:

python manage.py syncdb      
[原]Python Web架構Django初嘗試

7.建立應用程式:

python manage.py startapp polls      

應用程式結構:

polls/
    __init__.py
    models.py
    tests.py
  Views.py      

8.編輯 polls/models.py 檔案:

from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)      

9.再次編輯settings.py 檔案, 修改INSTALLED_APPS 設定包含 'polls'. 如下:

NSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'polls',
)      

10.現在Django知道了所包含的應用 polls.我們可以通過如下指令運作它:

python manage.py sql polls      

我們可以看到如下資訊提示:

[原]Python Web架構Django初嘗試

現在再次運作 syncdb來向我們的資料庫中建立子產品及相關表:

python manage.py syncdb