中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫-創(chuàng)新互聯(lián)

怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

為四川等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及四川網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、四川網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

今天給自己定了個(gè)小目標(biāo),一定要先做出點(diǎn)東西來,要不別回家了,哈哈。

當(dāng)然我可不是瞎說,做事得有計(jì)劃和目標(biāo)。

我分為了兩個(gè)階段,計(jì)劃在一天內(nèi)完成,上午是階段一,下午是階段二。第一階段全部要完成,第二階段滿足60分算是達(dá)標(biāo)。任務(wù)和細(xì)節(jié)如下:

怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫

首先,上來就是一個(gè)大工程,難免也吃不消,而且很難見到效果,有什么好的小項(xiàng)目呢,我轉(zhuǎn)眼一想,先拯救下自己吧。

我每天要看不少的文章,有些是碰到問題之后再去看,有些是針對(duì)性的去查看,看到好的文章就收藏了,結(jié)果發(fā)現(xiàn)收藏的越多,越是難以利用起來,因?yàn)樘嗔耍芾砥饋硪膊环奖?,大家知道瀏覽器的收藏夾,其實(shí)簡單用還行,做管理還是很不方便的,至少?zèng)]有搜索功能。如果想搜索哪些時(shí)間段搜索了哪些網(wǎng)頁,把鏈接都保留下來,這樣我就可以放心的關(guān)掉瀏覽器了,殊不知,這些天我的瀏覽器打開了快40個(gè)頁面,還舍不得關(guān)掉。所以先解決我的問題,做一個(gè)本地的知識(shí)庫,隨時(shí)可以用。

所以第一階段我就在windows上來做,也沒打算用MySQL,自帶的sqlite足夠了。而且我本機(jī)要用的話,隨時(shí)啟動(dòng)python即可。為了快速迭代實(shí)現(xiàn)功能,我準(zhǔn)備使用自帶的admin模板來做,剛好滿足需求,而且頁面還看起來簡潔美觀。

這是初步做成的效果圖,會(huì)在這個(gè)基礎(chǔ)上逐步完善。

怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫

第一階段的工作很快開始了,配置環(huán)境,簡單捋一捋。

先得到django的版本

python -c "import django; print(django.get_version())"

然后創(chuàng)建項(xiàng)目kmp(knowledge management portal)和應(yīng)用kmpapp

django-admin startproject kmp

cd kmp

django-admin startapp kmpapp

開啟web服務(wù)迅速驗(yàn)證

python manage.py runserver [IP:PORT]

如果能看到一個(gè)歡迎界面,證明就達(dá)標(biāo)了。

然后修改settings.py文件,添加應(yīng)用

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'kmpapp',

)

修改支持語言為中文

LANGUAGE_CODE = 'zh-Hans'

注釋掉下面的一行。

'django.middleware.csrf.CsrfViewMiddleware',

然后修改kmpapp/urls.py,添加下面的內(nèi)容

url(r'^kmpapp/index/$','kmpapp.views.index')

修改kmpapp/views.py,添加如下的內(nèi)容:

from django.http import HttpResponse

def index(req):

return HttpResponse('Hello World')

然后再次驗(yàn)證 python manage.py runserver [IP:PORT]

如果能看到hello world,繼續(xù)往下走。

我們配置models.py文件,主要的思想就是創(chuàng)建3個(gè)類,一個(gè)是一級(jí)目錄(parent_category),一個(gè)二級(jí)目錄(child_category),一個(gè)url表(url_info)

其中二級(jí)目錄表和url表是有外鍵的。

models.py的文件內(nèi)容如下:

from django.db import models

# Create your models here.

class km_parent_category(models.Model):

category_pid = models.AutoField( primary_key= True)

category_name = models.CharField( max_length= 200)

category_memo = models.CharField( max_length= 200)

class Meta:

db_table = 'km_parent_category'

verbose_name = 'CATEGORY_PARENT'

verbose_name_plural = 'CATEGORY_PARENT'

ordering = [ 'category_pid']

def __unicode__( self):

return '%s %s' % ( self.category_pid , self.category_name)

class km_child_category(models.Model):

category_cid = models.AutoField( primary_key= True)

category_name = models.CharField( max_length= 200)

category_memo = models.CharField( max_length= 200)

#category_parent_pid = models.ForeignKey( 'km_parent_category', related_name='category_parent_pid', to_field='category_pid', verbose_name='Url_category')

category_parent_pid = models.ForeignKey( 'km_parent_category')

class Meta:

db_table = 'km_child_category'

verbose_name = 'CATEGORY_CHILD'

verbose_name_plural = 'CATEGORY_CHILD'

ordering = [ 'category_cid']

def __unicode__( self):

return '%s %s' % ( self.category_cid , self.category_name)

class km_url_info(models.Model):

url_id = models.AutoField( primary_key= True)

url_title = models.CharField( max_length= 100)

url_detail = models.CharField( max_length= 200)

create_date = models.DateTimeField( 'date created')

url_memo = models.CharField( max_length= 200)

URL_STATUS = (

( 1, 'VALID') ,

( 0, 'INVALID')

)

url_status = models.IntegerField( choices=URL_STATUS)

category_id = models.ForeignKey( 'km_child_category', related_name= 'category_id', to_field= 'category_cid', verbose_name= 'Url_category')

#category_id = models.ForeignKey('km_child_category')

class Meta:

db_table = 'km_url_info'

verbose_name = 'URL_INFO'

verbose_name_plural = 'URL_INFO'

ordering = [ 'url_id']

def __unicode__( self):

return '%s %s' % ( self.url_id , self.url_title)

views.py的文件內(nèi)容如下:

from django.shortcuts import render

from kmpapp.models import km_url_info

# Create your views here.

from django.http import HttpResponse

from kmpapp.models import km_parent_category

from kmpapp.models import km_child_category

from kmpapp.models import km_url_info

from django.shortcuts import render_to_response

def index( req):

return HttpResponse( 'Hello World')

def add_url( req,name):

km_parent_category.objects.create( category_name=name)

return HttpResponse( 'OK')

def getList(request):

category = km_parent_category.objects.all()

url_info = km_url_info.objects.all()

child_info = km_child_category.objects.all()

result = render_to_response(

'test.html', { 'km_category': category , 'km_url_info': url_info , 'km_child_info': child_info})

return result

admin.py的文件內(nèi)容如下:

from django.contrib import admin

# Register your models here.

from kmpapp.models import km_parent_category

from kmpapp.models import km_child_category

from kmpapp.models import km_url_info

class category_parent_admin(admin.ModelAdmin):

fields = [ 'category_name', 'category_memo']

list_display = ( 'category_name',

'category_memo')

admin.site.register(km_parent_category , category_parent_admin)

class category_child_admin(admin.ModelAdmin):

fields = [ 'category_parent_pid',

'category_name', 'category_memo']

list_display = ( 'category_parent_pid', 'category_name',

'category_memo')

admin.site.register(km_child_category , category_child_admin)

class url_admin(admin.ModelAdmin):

fields = [ 'category_id', 'url_title', 'url_detail', 'create_date', 'url_memo', 'url_status']

list_display = ( 'category_id', 'url_title', 'url_detail', 'create_date', 'url_memo', 'url_status')

admin.site.register(km_url_info , url_admin)

使用如下的方式生成數(shù)據(jù)表。

python manage.py makemigrations kmpapp

python manage.py sqlmigrate kmpapp 0001

python manage.py migrate

創(chuàng)建管理用戶

python manage.py createsuperuser

再次驗(yàn)證即可。

python manage.py runserver [IP:PORT]

可以很方便的修改url的信息,至少對(duì)我來說,我可以很快完成這些力所能及的工作。

怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫

第一階段的工作比預(yù)期晚了一個(gè)小時(shí),第二階段的工作是在測試的虛擬機(jī)上做的,碰到了一個(gè)奇怪的問題,怎么調(diào)試都不對(duì),一直調(diào)試到晚上8:30,回到家都快10點(diǎn),吃了點(diǎn)東西繼續(xù)調(diào),我感覺是Django的一個(gè)bug,自動(dòng)轉(zhuǎn)換的form表單總是有點(diǎn)問題,直到11:30的時(shí)候才算搞好。

看完上述內(nèi)容,你們掌握怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站名稱:怎樣使用Django基礎(chǔ)模板搭建自己的知識(shí)庫-創(chuàng)新互聯(lián)
URL地址:http://m.rwnh.cn/article34/copise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、微信小程序外貿(mào)網(wǎng)站建設(shè)、App開發(fā)手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
沈丘县| 双流县| 乌兰县| 肥东县| 额济纳旗| 那坡县| 攀枝花市| 黔江区| 安康市| 嫩江县| 林西县| 诏安县| 化德县| 荔浦县| 河西区| 乐山市| 崇仁县| 阜康市| 汾西县| 肇州县| 大田县| 建德市| 留坝县| 鄂温| 安阳市| 宝坻区| 马尔康县| 古田县| 海淀区| 民勤县| 思茅市| 东乌| 丰原市| 宁津县| 永善县| 汉寿县| 保康县| 曲阜市| 石泉县| 永善县| 舒兰市|