Djanjo1.11+MySQL5.7+Python2.7快速搭建博客

1.創建項目mysite

django-admin.py startproject mysite

2.運行開發服務器

python manage.py runserver

3.創建blog博客應用

python manage.py startapp blog

4.修改mysite/blog/models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.contrib import admin

from django.db import models

from django import forms

# Create your models here.
class BlogPost(models.Model):
    title=models.CharField(max_length=150)
    body=models.TextField()
    timestamp=models.DateTimeField()
class BlogPostForm(forms.ModelForm):
    class Meta:
        model = BlogPost
        exclude = ('timestamp',)
class BlogPostAdmin(admin.ModelAdmin):
    list_display = ('title','body','timestamp')
admin.site.register(BlogPost,BlogPostAdmin)

5.設置數據庫

修改setting.py文件中相應內容

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdb',
        'USER': 'root',
        'PASSWORD':'yue960713',
        'HOST':'',
        'POST':'',
    }
}

6.創建表

運行下面命令

Django 1.7.1及以上 用以下命令
# 1. 創建更改的文件
python manage.py makemigrations
# 2. 將生成的py文件應用到數據庫
python manage.py migrate
 
 
舊版本的Django 1.6及以下用
python manage.py syncdb


7.創建用戶界面

在blog下新建一個templates文件夾,將HTML文件放在這個文件夾下


{% csrf_token %}

{% for post in posts %}

{{ post.title }}

{{ post.timestamp }}

{{ post.body }}

{% endfor %}

8.配置url映射

修改mysite/urls.py文件

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import include,url
from django.contrib import admin
from blog.views import *

urlpatterns = [
    url(r'^blog/$',archive),
    url(r'^admin/', admin.site.urls),
    url(r'^blog/create/',create_blogpost),
]

9.創建視圖函數

修改blog/views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.http import HttpResponse

from blog.models import BlogPost

from datetime import datetime

from django.http import HttpResponseRedirect

from django.shortcuts import render

# Create your views here.

def archive(request):
    posts= BlogPost.objects.all().order_by('-timestamp')[:10]
    return render(request,'archive.html',{'posts':posts})
   
def create_blogpost(request):
    if request.method == 'POST':
        BlogPost(
            title=request.POST.get('title'),
            body=request.POST.get('body'),
            timestamp=datetime.now(),
        ).save()
    return HttpResponseRedirect('/blog/')

10.配置完成

在瀏覽器中輸入http://localhost:8000/blog/驗證一下


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章