搜索引擎二:Django网站首页设计

安装Django

  • pip install django
  • 或者是: easy_install django

新建项目和应用

  • 找一个地方放项目文件:这里是E盘
  • 按住shift,再点击右键,打开CMD
  • 输入:django-admin startproject search_engine
  • 这样就新建了个名为search_engine的项目文件夹
  • 输入:manage.py startapp search
  • 这样就新建了一个名为search的应用文件夹
  • search文件夹移到search_engine文件夹里面,并删除migrations文件夹
  • 现在的项目文件夹树为:

注册应用_指明模板和静态文件夹路径

  • 打开setting.py,找到INSTALLED_APPS
  • 添加应用的名称进去(注意有逗号):‘search_engine.search’,
  • 模板文件路径:TEMPLATE_DIRS = (“E:/search_engine/search_engine/search/templates”,)
  • 静态文件路径:STATICFILES_DIRS = (
    os.path.join(BASE_DIR, “static”).replace(‘\’,’/’),
    )
# -*- coding:utf-8 -*-
# settings.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '(&%ja6j(vz!hph5!+25cfvrdnib^%28uu9l-igc*@x8r-j0vdi'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True
# 指明模板文件路径
TEMPLATE_DIRS = ("E:/search_engine/search_engine/search/templates",)

ALLOWED_HOSTS = []

# 注册应用
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'search_engine.search', 
    #自己注册的应用,应用在search_engine文件夹下
    #所以路径为search_engine.search 
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'search_engine.urls'
WSGI_APPLICATION = 'search_engine.wsgi.application'

# 设置数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# 初始化信息
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

# 绑定静态文件夹(即指明static文件夹路径)
# 以便找到对应的资源,如image,js,css
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static").replace('\\','/'), 
)

定义网站的URL映射

  • 打开urls.py,定义url的映射
# -*- coding:utf-8 -*-
from django.conf.urls import patterns, include, url
from django.contrib import admin
from search import views

#定义不同url的映射
#即不同url调用views中不同的函数
urlpatterns = patterns('',
    #把主页映射到viwes.py里面的search_form函数
    #从浏览器访问主页的时候,会执行这句,然后调用search_form函数
    url(r'^$', 'views.search_form', name='home'),

    url(r'^admin/', include(admin.site.urls)),
)

定义views.py中对应的函数

  • 打开search中的views.py,定义对应的映射函数
# -*- coding:utf-8 -*-
from django.shortcuts import render_to_response
from django.http import HttpResponse

#定义url对应的映射函数search_form
#接受一个request请求,返回一个html
def search_form(request):
    return render_to_response('search_form.html')

定义html模板search_form.html

  • 先在templates文件夹中新建一个基类模板base.html
  • 然后再新建一个search_form.html继承并扩展
<!DOCTYPE HTML PUBLIC "‐//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    {% block content %}
    {% endblock %}

    {% block footer %}
    {% endblock %}
</body>
</html>

search_form.html:

{% extends "base.html" %}

{% block title %}Search_form{% endblock %}

{% block content %}
<div id="logo" style="text-align: center; margin-top: 15%">
    {% load staticfiles %}
    <img src="{% static "images/bg.png" %}" alt="bg image"/>
</div>

<form action="/search/" method="get">
    <div  style="width: 100%; text-align: center;margin-top: 10">
        <input type="text" name="q" maxlength="100" size="60">
        <input type="submit" value="Search">
    </div>
</form>
{% endblock %}

{% block footer %}
<div style="text-align: center; margin-top: 50">
    <p>Thanks for visiting my site.</p>
</div>
{% endblock %}

放入静态资源(图片,js,css)

  • static文件夹中新建一个images文件夹
  • 里面放入bg.png图片文件

运行自带服务器测试

  • 项目根目录下执行:manage.py runserver
  • 在浏览器执行:127.0.0.1:8000

小结

  • 现在点击search会出现404,因为结果页面还没写
  • 现在用的服务器是自带的,下一步换成nginx服务器
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值