Django初认识

来源:互联网 发布:免费 微商城 源码 编辑:程序博客网 时间:2024/05/06 20:49
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 %}
原创粉丝点击