博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python实战】Django建站笔记
阅读量:6083 次
发布时间:2019-06-20

本文共 2629 字,大约阅读时间需要 8 分钟。

前一段时间,用Django搭建一个报表分析的网站;借此正好整理一下笔记。

1. 安装

python有包管理工具pip,直接cd Python27/Scripts,输入

pip install django# install by versionpip install --upgrade Django==

安装完成后,python -c "import django; print(django.get_version())",若能打印出Django的版本信息,即说明安装成功。一般地,Django安装在Python27/Lib/site-package/django目录。

2. Django介绍

项目

Django的架构是MTV(Model-Template-View)。输入命令

python 
/Python27/Lib/site-packages/django/bin/django-admin.py startproject mysite

创建mysite的Django项目,项目的文件目录如下:

mysite/     manage.py     mysite/         __init__.py         settings.py         urls.py         wsgi.py
  • 最外层的mysite目录包含了整个项目,与Django没有半毛钱的直接关系,可改名。
  • manage.py提供对项目的命令行(command-line)操作,比如:python manage.py runserver开启服务,默认端口号为8000(若开启端口号为8888,则python manage.py runserver 8888)。
  • 内层的mysite文件夹是python package,与项目名相对应。
  • __init__.py为空文件,表示mysite是一个package。
  • settings.py为项目的配置文件。
  • wsgi.py为WSGI-compatible web servers。

app

输入python manage.py startapp polls,为项目创建了Polls app,文件目录结构如下:

polls/    __init__.py    admin.py    apps.py    migrations/        __init__.py    models.py    tests.py    views.py

app定义网站内容view与model层,view.py定义网站数据的获取,而网页格式规范是在HTML Template中所定义的。比如,在source.html中定义网页:

{% extends "base.html" %}{% block main %}
...
{
{firstWeekDay}}

通过view层向html注入数据(通过context给HTML中定义变量赋值):

# views.pyfrom django.shortcuts import render_to_responsedef source(request):    context = {}    context.update(firstWeekDay=fourWeek[0])    return render_to_response('source.html', context)

上面通过命令建项目的方式可能过于繁琐,PyCharm是IDE中不错一个选择,可用来快速构建Django项目。

3. 实战

循环注入

Django支持注入数据的格式为迭代集合如tuple、list等,用for循环依次取出:

{
{firstWeekDay}} {% for pv in firstWeekPv %} {
{pv}} {% endfor %}
{% for ad in adParent %} {
{ad.0}} {
{ad.1}} {
{ad.2}} {
{ad.3}} {% endfor %}

静态导入

Django同时支持导入静态css、js文件等,建议使用绝对路径作为root;这些配置信息须在settings.py中添加:

STATIC_ROOT = '
/to/static'# Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.7/howto/static-files/STATIC_URL = '/static/'# Additional locations of static filesSTATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. ('css', os.path.join(STATIC_ROOT, 'css').replace('\\', '/')), ('js', os.path.join(STATIC_ROOT, 'js').replace('\\', '/')), ('images', os.path.join(STATIC_ROOT, 'images').replace('\\', '/')))

如此,可以在HTML中自由地导入相对路径了:

转载地址:http://fgzwa.baihongyu.com/

你可能感兴趣的文章
[开源]KJFramework.Message 智能二进制消息框架 -- 对于数组的极致性优化
查看>>
Android SDK与ADT版本不匹配的解决
查看>>
ehcache缓存的简单使用
查看>>
tomcat内存溢出
查看>>
DFS Codeforces Round #290 (Div. 2) B. Fox And Two Dots
查看>>
POJ3581:Sequence——题解
查看>>
BZOJ4009 & 洛谷3242 & LOJ2113:[HNOI2015]接水果——题解
查看>>
用dom4j解析xml文件并执行增删改查操作
查看>>
Shell脚本排序总结
查看>>
C++ map<char *,int>
查看>>
在个人笔记本上安装centos6.8
查看>>
python 注册
查看>>
转 python数据类型详解
查看>>
Thread 初学(二)——线程同步
查看>>
文件管理器
查看>>
12招jQuery常用技巧
查看>>
subline 快捷键与功能解释
查看>>
Ubuntu+apache安装redmin
查看>>
使用mysqldump迁移数据
查看>>
路径问题
查看>>