Django初認識
Django建站總結
這裏說的是建站,環境已經完全安裝好了
一、切換到創建網站的目錄下,創建項目(Project),django-admin.py startproject sysmanage
然後創建應用(app)django-admin.py startapp inventory
二、設置項目下面的setting.py,這個是網站的配置文件,設置包括所使用的數據庫、端口等一些設置。
1.這裏我們使用的是Sqlite3,所以設置DATABASES
DATABASES = {
'default': {
'ENGINE': 'sqlite3', # 添加數據類型
'NAME': 'dev.db', # 數據庫的名稱
'USER': '', # 數據庫的用戶名
'PASSWORD': '', # 數據庫的密碼
'HOST': '', # 數據庫的地址(localhost)
'PORT': '', # 訪問的端口
}
}
以上設置如果使用的是sqlite的話,可以只設置數據類型和數據庫的名稱。
2.然後我們要把我們創建的應用放入(註冊)到設置文件中,這樣子項目就知道有inventory這個應用了。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'sysmanage.inventory',
)
三、修改URL映射。這個修改要在urls.py中修改,Django有默認的後臺,所以我們可以直接啓用。直接去掉urls.py中的三個註釋就可以啓用了。去掉後效果如下:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
)
四、創建模型(Models)。在應用下面有個models.py的文件,我們是用來編寫業務對象的。業務對象是繼承自django.db.models.Model的python類,例如:
from django.db import models
# Create your models here.
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=models.CharField(max_length=200)
votes=models.IntegerField()
創建好了以後,使用代碼:python manage.py syncdb就可以創建我們的數據庫了,這裏除了創建我們models.py中的數據表外,還創建了admin中需要用到的表。創建完表後,會提示你創建一個後臺的管理員。這樣子你就可以登錄上後臺了。在後臺會看見你創建的表中的字段已經自動的添加到每一項中,而且都有了刪除修改。
五、上面做了後臺,我們要在前臺顯示,還要設置URL,打開項目下面的urls.py,添加幾條規則:
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^$', 'sysmanage.inventory.views.main'),
(r'^categorized/(?P<category>.*?)/(?P<category_id>.*?)/$','sysmanage.inventory.views.categorized'),
(r'^server_detail/(?P<server_id>.*?)/$','sysmanage.inventory.views.server_detail'),
)
六、創建視圖(views.py)。視圖中要根據你設置urls.py中的函數來寫,比如你設子了categorized的函數,那你在視圖中肯定要創建這個函數,讓他符合url,這樣子纔可以訪問。
七、創建模板,在應用的文件夾下面創建一個templates的文件夾,我們模板就是放在這個文件夾下面。我們url中的模板用到main.html、categorized.html、server_detail.html,在模板中我們還會用到的一個模板就base.html,也就是基模板。下面就是一個base.html:
<html>
<head>
<title>{% block title %}Apache Logviewer - File Listring{% endblock %}</title>
</head>
<body>
<div><a herf="/">Log Directory</a></div>
{% block content %}Empty Content Block{% endblock %}
</body>
</html>
在子模板中引用基模板:{% extends "base.html" %}
在其他的模板中,是根據block來引用的,比如在基模板中{% block title %}等下在子模板中就可以改變這個地方,在子模板中的如下引用:{% block title %}Server Inventory Category View{% endblock %}
這裏說的是建站,環境已經完全安裝好了
一、切換到創建網站的目錄下,創建項目(Project),django-admin.py startproject sysmanage
然後創建應用(app)django-admin.py startapp inventory
二、設置項目下面的setting.py,這個是網站的配置文件,設置包括所使用的數據庫、端口等一些設置。
1.這裏我們使用的是Sqlite3,所以設置DATABASES
DATABASES = {
'default': {
'ENGINE': 'sqlite3', # 添加數據類型
'NAME': 'dev.db', # 數據庫的名稱
'USER': '', # 數據庫的用戶名
'PASSWORD': '', # 數據庫的密碼
'HOST': '', # 數據庫的地址(localhost)
'PORT': '', # 訪問的端口
}
}
以上設置如果使用的是sqlite的話,可以只設置數據類型和數據庫的名稱。
2.然後我們要把我們創建的應用放入(註冊)到設置文件中,這樣子項目就知道有inventory這個應用了。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'sysmanage.inventory',
)
三、修改URL映射。這個修改要在urls.py中修改,Django有默認的後臺,所以我們可以直接啓用。直接去掉urls.py中的三個註釋就可以啓用了。去掉後效果如下:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
)
四、創建模型(Models)。在應用下面有個models.py的文件,我們是用來編寫業務對象的。業務對象是繼承自django.db.models.Model的python類,例如:
from django.db import models
# Create your models here.
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=models.CharField(max_length=200)
votes=models.IntegerField()
創建好了以後,使用代碼:python manage.py syncdb就可以創建我們的數據庫了,這裏除了創建我們models.py中的數據表外,還創建了admin中需要用到的表。創建完表後,會提示你創建一個後臺的管理員。這樣子你就可以登錄上後臺了。在後臺會看見你創建的表中的字段已經自動的添加到每一項中,而且都有了刪除修改。
五、上面做了後臺,我們要在前臺顯示,還要設置URL,打開項目下面的urls.py,添加幾條規則:
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^$', 'sysmanage.inventory.views.main'),
(r'^categorized/(?P<category>.*?)/(?P<category_id>.*?)/$','sysmanage.inventory.views.categorized'),
(r'^server_detail/(?P<server_id>.*?)/$','sysmanage.inventory.views.server_detail'),
)
六、創建視圖(views.py)。視圖中要根據你設置urls.py中的函數來寫,比如你設子了categorized的函數,那你在視圖中肯定要創建這個函數,讓他符合url,這樣子纔可以訪問。
七、創建模板,在應用的文件夾下面創建一個templates的文件夾,我們模板就是放在這個文件夾下面。我們url中的模板用到main.html、categorized.html、server_detail.html,在模板中我們還會用到的一個模板就base.html,也就是基模板。下面就是一個base.html:
<html>
<head>
<title>{% block title %}Apache Logviewer - File Listring{% endblock %}</title>
</head>
<body>
<div><a herf="/">Log Directory</a></div>
{% block content %}Empty Content Block{% endblock %}
</body>
</html>
在子模板中引用基模板:{% extends "base.html" %}
在其他的模板中,是根據block來引用的,比如在基模板中{% block title %}等下在子模板中就可以改變這個地方,在子模板中的如下引用:{% block title %}Server Inventory Category View{% endblock %}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.