Django+python+eclipse 快速搭建博客blog

来源:互联网 发布:东莞网络电视报装 编辑:程序博客网 时间:2024/05/21 15:50
1.新建Django项目





选择sqlite数据库



2.创建博客模块app






3.测试新建的模块是否正常





4.编辑代码


4.1修改 blog.models.py

[python] view plaincopyprint?
  1. from django.db import models 
  2. from django.contrib import admin 
  3.  
  4. # Create your models here. 
  5. class BlogPost(models.Model): 
  6.     title = models.CharField(max_length=150
  7.     body = models.TextField() 
  8.     timestamp = models.DateTimeField() 
  9.  
  10. class BlogPostAdmin(admin.ModelAdmin): 
  11.     list_display = ('title','body','timestamp'
  12.  
  13. admin.site.register(BlogPost,BlogPostAdmin) 
from django.db import modelsfrom django.contrib import admin# Create your models here.class BlogPost(models.Model):    title = models.CharField(max_length=150)    body = models.TextField()    timestamp = models.DateTimeField()class BlogPostAdmin(admin.ModelAdmin):    list_display = ('title','body','timestamp')admin.site.register(BlogPost,BlogPostAdmin)

4.2修改 blog.views.py

[python] view plaincopyprint?
  1. # Create your views here. 
  2. from django.template import loader,Context 
  3. from django.http import HttpResponse 
  4. from blog.models import BlogPost 
  5.  
  6. def archive(request): 
  7.     posts = BlogPost.objects.all() 
  8.     t = loader.get_template('archive.html'
  9.     c = Context({'posts':posts}) 
  10.     return HttpResponse(t.render(c)) 
# 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

[python] view plaincopyprint?
  1. INSTALLED_APPS = ( 
  2.     'django.contrib.auth'
  3.     'django.contrib.contenttypes'
  4.     'django.contrib.sessions'
  5.     'django.contrib.sites'
  6.     'django.contrib.messages'
  7.     'django.contrib.staticfiles'
  8.     'blog'
  9.     # Uncomment the next line to enable the admin: 
  10.      'django.contrib.admin'
  11.     # Uncomment the next line to enable admin documentation: 
  12.     # 'django.contrib.admindocs', 
INSTALLED_APPS = (    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.sites',    'django.contrib.messages',    'django.contrib.staticfiles',    'blog',    # Uncomment the next line to enable the admin:     'django.contrib.admin',    # Uncomment the next line to enable admin documentation:    # 'django.contrib.admindocs',)

4.4 修改urls.py

[python] view plaincopyprint?
  1. from django.conf.urls import patterns, include, url 
  2.  
  3. # Uncomment the next two lines to enable the admin: 
  4. from django.contrib import admin 
  5. admin.autodiscover() 
  6. from blog.views import
  7.  
  8. urlpatterns = patterns(''
  9.     # Examples: 
  10.     # url(r'^$', 'mysite.views.home', name='home'), 
  11.     # url(r'^mysite/', include('mysite.foo.urls')), 
  12.  
  13.     # Uncomment the admin/doc line below to enable admin documentation: 
  14.     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
  15.  
  16.     # Uncomment the next line to enable the admin: 
  17.      url(r'^admin/', include(admin.site.urls)), 
  18.      url(r'^blog/$', archive), 
from django.conf.urls import patterns, include, url# Uncomment the next two lines to enable the admin:from django.contrib import adminadmin.autodiscover()from blog.views import *urlpatterns = patterns('',    # Examples:    # url(r'^$', 'mysite.views.home', name='home'),    # url(r'^mysite/', include('mysite.foo.urls')),    # Uncomment the admin/doc line below to enable admin documentation:    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),    # Uncomment the next line to enable the admin:     url(r'^admin/', include(admin.site.urls)),     url(r'^blog/$', archive),)

5.建立样式网页模板


注意:请在模块blog下添加templates文件夹



5.1 编辑archive.html

[html] view plaincopyprint?
  1. {% extends "base.html" %} 
  2. {% block content %} 
  3. {% for post in posts %} 
  4. <h1>{{ post.title}}</h1> 
  5. <p>{{ post.timestamp|date:"1, F jS"}}</p> 
  6. <p>{{ post.body }}</p> 
  7. {% endfor %} 
  8. {% endblock %} 
{% extends "base.html" %}{% block content %}{% for post in posts %}<h1>{{ post.title}}</h1><p>{{ post.timestamp|date:"1, F jS"}}</p><p>{{ post.body }}</p>{% endfor %}{% endblock %}

5.2 编辑base.html

[html] view plaincopyprint?
  1. <html> 
  2. <style type="text/css"> 
  3. body { color: #edf; background: #453; padding: 0 5em; margin:0 } 
  4. h1 { padding: 2em lem; background:#675 } 
  5. h2 { color: #bf8; border-top: 1px dotted #fff; margin-top: 2em } 
  6. p { margin: lem 0 } 
  7. </style> 
  8. <body> 
  9. <h1>mysite.example.com</h1> 
  10. {% block content %} 
  11. {% endblock %} 
  12. </body> 
  13. </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>mysite.example.com</h1>{% block content %}{% endblock %}</body></html>

6.同步数据库



设置你的账号和密码,为登陆blog的管理后台作准备。




7.运行成功




登陆界面,登陆账号是初始化数据库的时候设定的,密码也是那时候设定的。





原创粉丝点击