Ex_treme's blog.

文章搜索引擎————前后端结合

2018/04/02 Share

实现文章搜索引擎(二)

在app>>models中设计相关数据表

数据库设计和前端整合

models设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from django.db import models

# Create your models here.

# 类对象会对应数据库中的一个表
class ArticleModel(models.Model):
#CharField对应数据库的varchar类型
file_name = models.CharField(max_length=50,verbose_name='文章名称')
file_path = models.CharField(max_length=150,verbose_name='文章路径')
file_md5 = models.CharField(max_length=32,verbose_name='文章MD5')
file_fence = models.TextField(verbose_name='文章分词')

#重新定义一些属性
class Meta:
#表的别名
verbose_name = '文章信息'
#此项不定义则别名后会存在字符s(英文框架造成的)
verbose_name_plural = verbose_name

#不重写则在返回数据时默认返回类名称,即返回文章名称为类名称
def __unicode__(self):
return self.file_name

manage命令操作

1
2
manage.py@sas > makemigrations(搜索项目中数据库信息是否改变)
manage.py@sas > migrations(执行检到的新增命令)

找不到index界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
404err:http://127.0.0.1:8000/index
1.设置views
from django.shortcuts import render

# Create your views here.
from django.views.generic import View

class ArticleView(View):
def get(self,request):
return render(request,'index.html')
2.设置setting
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
3.设置urls
urlpatterns = [
path('admin/', admin.site.urls),
path('', ArticleView.as_view(),name='index'),
]

找不到CSS

1
2
3
4
5
6
7
8
9
1.设置setting:

STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
2.html文件中写入
{% load staticfiles %}
<link href="{% static 'css/style.css' %}" rel="stylesheet" type="text/css" />
<link href="{% static 'css/index.css' %}" rel="stylesheet" type="text/css" />

命令行无法运行启动应用:

1
2
3
4
5
设置setting:
import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
cd path
python manage.py runserver

网站无法显示icon

1
2
3
4
5
6
7
8
9
10
1.将icon放在static目录
2.urls中配置:
from django.views.generic.base import RedirectView
urlpatterns = [
path('admin/', admin.site.urls),
path('', ArticleView.as_view(),name='index'),
path('favicon.ico',RedirectView.as_view(url='static/favicon.ico')),
]
3.在模板中加入一下html语句
<link rel="shortcut icon" href="{% static 'favicon.ico' %}">

这一章主要完成了后台数据库的设计和前端模板的结合,这样我们就得到了一个什么功能都还没有实现的搜索引擎的框架了,也就是一个正式的模板,剩下的搜索功能就要利用算法和检索模型去完成了!
image

CATALOG
  1. 1. 实现文章搜索引擎(二)
  2. 2. 数据库设计和前端整合