[轉載]django在eclipse環境下建web網站

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   os   

一、建立一個項目
如果這是你第一次使用Django,那麼你必須進行一些初始設定。也就是通過自動產生代碼來建立一個Django項目--一個Django項目的設定集,包含了資料庫配置、Django詳細選項設定和應用 特性配置,具體操作步驟如下所示。

1.建立Django項目


選擇sqlite資料庫

2.建立網站模組app

3.測試建立的模組是否正常

Validating models...0 errors foundMarch 12, 2014 - 10:26:53Django version 1.6.2, using settings ‘mysite.settings‘Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.

伺服器啟動起來後,去瀏覽器輸入網址:http://127.0.0.1:8000,你會看到一個令人愉悅的,柔和的淡藍色 “Welcome to Django” 頁面。表示它已正常工作!

讓我們來看看mysite都建立了些什麼:

這些檔案分別是:
a、外層mysite目錄只是你項目的一個容器。對於Django來說該目錄名並不重要;你可以重新命名為你喜歡的。
b、manage.py: 一個實用的命令列工具,可讓你以各種方式與該Django項目進行互動。 
c、內層mysite目錄是你項目中的實際Python包。該目錄名就是Python包名,通過它你可以匯入它裡面的任何東西。(e.g.import mysite.settings).
d、mysite/__init__.py:一個空檔案,告訴Python該目錄是一個Python包。 
e、mysite/settings.py:該Django項目的設定/配置。 
f、mysite/urls.py:該Django項目的URL聲明;一份由Django驅動的網站“目錄”。 
g、mysite/wsgi.py:一個WSGI相容的Web伺服器的入口,以便運行你的項目。

更改連接埠號碼
預設情況下,:djadmin:runserver 命令啟動的程式開發伺服器只監聽本地IP的8000連接埠。

如果你想改變伺服器的連接埠,把它作為一個命令列參數傳遞即可。例如以下命令啟動的伺服器將監聽8080連接埠:

C:\Users\D-117>cd F:\workspace\mysite\src\mysite\ #manage.py檔案所在目錄,即mysite項目下C:\Users\D-117>f:F:\workspace\mysite\src\mysite>python manage.py runserver 8080Validating models...0 errors foundMarch 12, 2014 - 10:31:27Django version 1.6.2, using settings ‘mysite.settings‘Starting development server at http://127.0.0.1:8080/Quit the server with CTRL-BREAK.

如果你想改變伺服器IP,把它和連接埠號碼一起傳遞即可。因此,要監聽所有公用IP地址(如果你想在其他電腦上炫耀你的工作),請使用:
python manage.py runserver 0.0.0.0:8000

資料庫設定
現在,編輯 mysite/settings.py 。 這是一個普通的Python模組,包含了代表Django設定的模組層級變數。 更改DATABASES中‘default‘下的以下鍵的值,以匹配您的資料庫連接設定。
a、ENGINE – 從 ‘django.db.backends.postgresql_psycopg2‘, ‘django.db.backends.mysql‘, ‘django.db.backends.sqlite3‘, ‘django.db.backends.oracle‘ 中選一個
b、NAME – 你的資料庫名。如果你使用 SQLite,該資料庫將是你電腦上的一個檔案;在這種情況下,:setting:NAME 將是一個完整的絕對路徑,而且還包含該檔案的名稱。如果該檔案不 
存在,它會在第一次同步資料庫時自動建立(見下文)。當指定路徑時,總是使用正斜杠,即使是在Windows下(例如:`C:/homes/user/mysite/sqlite3.db`) 。
c、USER – 你的資料庫使用者名稱 ( SQLite 下不需要) 。
d、PASSWORD – 你的資料庫密碼 ( SQLite 下不需要) 。
e、HOST – 你的資料庫主機地址。如果和你的資料庫伺服器是同一台物理機器,請將此處保留為空白 (或者設定為 127.0.0.1) ( SQLite 下不需要) 。 
如果你是建立資料庫,我們建議只使用 SQLite ,將 ENGINE 改為 ‘django.db.backends.sqlite3‘ 並且將 NAME 設定為你想存放資料庫的地方。 SQLite 是內建在 Python 中的,因此你不需要安裝任何東西來支援你的資料庫。

注意:
如果你使用PostgreSQL或者MySQL,確保你已經建立了一個資料庫。還是通過你的資料庫互動介面中的“CREATE DATABASE database_name;”命令做到這一點的。
如果你使用SQLite,你不需要事先建立任何東西 - 在需要的時候,將會自動建立資料庫檔案。

當你編輯 settings.py 時,將 TIME_ZONE 修改為你所在的時區。預設值是美國中央時區(芝加哥)。同時,注意檔案底部的 INSTALLED_APPS 設定。它儲存了當前 Django 執行個體已啟用的所 
有 Django 應用。每個應用可以被多重專案使用,而且你可以打包和分發給其他人在他們的項目中使用。

預設情況下,:setting:INSTALLED_APPS 包含以下應用,這些都是由 Django 提供的:

django.contrib.auth – 身分識別驗證系統。django.contrib.contenttypes – 內容類型架構。django.contrib.sessions – session 架構。django.contrib.sites – 網站管理架構。django.contrib.messages – 訊息架構。django.contrib.staticfiles – 靜態檔案管理架構。

這些應用在一般情況下是預設包含的。

所有這些應用中每個應用至少使用一個資料庫表,所以在使用它們之前我們需要建立資料庫中的表。要做到這一點,請運行以下命令:python manage.py syncdb,具體操作下面會闡述。

至此,項目開發環境建立好了,我們可以開工了。

二、建立模型

4.編輯代碼
4.1修改blog.models.py

from django.db import modelsfrom django.contrib import admin# Create your models here.class BlogPost(models.Model):    title = models.CharField(max_length = 150)    content = models.TextField()    timestamp = models.DateTimeField()    class BlogPostAdmin(admin.ModelAdmin):    list_display = (‘title‘, ‘content‘, ‘timestamp‘)admin.site.register(BlogPost, BlogPostAdmin)

我們將建立一個BlogPost模型,包含title、content、timestamp三個欄位。每個模型都繼承自django.db.models.Model子類的類來描述。 每個模型 
都有一些類變數,每一個類變數都代表了一個資料庫欄位。

每個欄位由一個 Field 的執行個體來表現 – 比如 CharField 表示字元類型的欄位和 DateTimeField 表示日期時間型的欄位。這會告訴 Django 每個 
欄位都儲存了什麼類型的資料。

每一個 Field 執行個體的名字就是欄位的名字(如: title、content、timestamp),其格式屬於親和機器式的。在你的 Python 的代碼中會使用這個 
值,而你的資料庫會將這個值作為表的列名。

4.2修改blog.views.py

# Create your views here.from django.template import loader,Contextfrom django.http import HttpResponsefrom blog.models import BlogPostdef archive(request):    posts = BlogPost.objects.all()    t = loader.get_template(‘archive.html‘)    c = Context({‘posts‘: posts})    return HttpResponse(t.render(c))

4.3修改mysite.setting.py,找到下面部分進行修改

INSTALLED_APPS = (    ‘django.contrib.admin‘,    ‘django.contrib.auth‘,    ‘django.contrib.contenttypes‘,    ‘django.contrib.sessions‘,    ‘django.contrib.messages‘,    ‘django.contrib.staticfiles‘,    ‘blog‘,)

4.4修改mysite.urls.py

from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()from blog.views import archiveurlpatterns = patterns(‘‘,    # Examples:    # url(r‘^$‘, ‘mysite.views.home‘, name=‘home‘),    # url(r‘^blog/‘, include(‘blog.urls‘)),    url(r‘^admin/‘, include(admin.site.urls)),    url(r‘^blog/‘, archive),)

5.建立樣式網頁模板
請在包blog下添加templates檔案夾,並在templates下建立兩個網頁檔案:archive.html和base.html

5.1編輯archive.html

{% extends "base.html" %}  {% block content %}  {% for post in posts %}  <h1>{{ post.title}}</h1>  <p>{{ post.content }}</p><p>{{ post.timestamp|date:"1, F jS"}}</p>{% endfor %}  {% endblock %}

5.2編輯base.html

<html>    <style type="text/css">      body { color: #edf; background: #453; padding: 0 5em; margin:0 }      h1 { padding: 2em lem; background:#675 }      h2 { color: #bf8; border-top: 1px dotted #fff; margin-top: 2em }      p { margin: lem 0 }    </style>    <body>      <h1><center>Alexia‘s Blog</center></h1>      {% block content %}      {% endblock %}    </body>  </html>

三、同步資料庫

設定你的帳號和密碼,為登陸blog的管理後台作準備。

Creating tables ...Creating table django_admin_logCreating table auth_permissionCreating table auth_group_permissionsCreating table auth_groupCreating table auth_user_groupsCreating table auth_user_user_permissionsCreating table auth_userCreating table django_content_typeCreating table django_sessionYou just installed Django‘s auth system, which means you don‘t have any superusers defined.Would you like to create one now? (yes/no): yesUsername (leave blank to use ‘d-117‘): rootEmail address: [email protected]Password: rootPassword (again): rootSuperuser created successfully.Installing custom SQL ...Installing indexes ...Installed 0 object(s) from 0 fixture(s)Finished "F:\workspace\mysite\src\mysite\manage.py syncdb" execution.

四.運行測試
登陸介面,登陸帳號和密碼是初始化資料庫的時候設定的。

登入成功後跳轉到下面頁面:

在該頁面可以添加blog文章:

發布成功後,輸入網址:http://127.0.0.1:8000/blog/進行查看,測試成功!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.