1. 程式人生 > >Django實現的一個簡單的後臺開發

Django實現的一個簡單的後臺開發

1.通過命令列生成專案和應用:

django-admin startproject demo1  和  python manage.py  startapp novel  

2.建立templates和static資料夾

3.形成如下結構:


4.在setting中進行如下配置:


5.Navicat中必須提前建立上述資料庫novel

6.將所需要的html與靜態檔案分別放在相對應的資料夾,然後對html程式碼進行修改(只列舉關鍵部分):



7.url.py

from django.conf.urls import url
from django.contrib import admin
from novel import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$',views.index),
]


8.models.py

from __future__ import unicode_literals
from django.db import models

class Novel(models.Model):
    novelid = models.AutoField(primary_key=True)
    type = models.IntegerField()
    novelname = models.CharField(max_length=100)
    novelimg = models.CharField(max_length=100)
    description = models.TextField()
    state = models.CharField(max_length=20)
    author = models.CharField(max_length=20)

    def __unicode__(self):
        return self.novelname

class Author(models.Model):
    author_name = models.CharField(max_length=10)
    author_age = models.IntegerField()

    def __unicode__(self):
        return self.author_name


寫完models.py時需要在命令列下輸入:

python manage.py makemigrations 和 python manage.py migrate

這樣就可以在資料庫中生成對應的表

9.生成表之後,在Navicat中隨便輸入一些資料,然後通過sql語句將其數量倍增,如:

INSERT INTO 表名(欄位)SELECT 欄位  FROM 表名

****在這裡需要注意的是圖片的網址不是儲存在本地的,如下:


10.views.py

from django.shortcuts import render
from django.http import HttpResponse
from models import Novel

def index(request):
    nov = Novel.objects.filter().order_by('?')[:4]
    context = {
        'novels':nov
    }
    return render(request,'index.html',context=context)

11.執行python manage.py runserver 訪問,如下(重新整理一次可出現不同的小說內容):




OK!