用python+django写个简单的个人网站(-)初步django框架构建
最近迫切的想做一个个人网站,所以会在待续的文章中分享下我的具体心得以及代码。具体使用python+django+mysql。今天先简单建个django的框架。
这是我的第一篇博文,做个自我介绍先。
本人素个女程序猿,it从业一年,主要用python。写过爬虫,写过socket,维护过数据,现主要维护app的后端。由于本人比较愚钝,工作中经常忙的焦头烂额,请教大牛的次数也是指数上升,最近一个socket的问题,问跑了两个人之后,第三个人终于帮我查明了问题所在,而且在进一步的交流中,发现此大牛竟是我的老乡而且家离的很近。真是缘分啊!来博客园很久了,真是给我在技术的行业中开拓了很多思维,让我从中获益匪浅啊,秉着喝水不忘挖井人,现在我也来博客园,分享分享我的浅薄经验,如有幼稚之处,欢迎大家帮我提点。因小女脸皮比较薄,还请各位大神言语中尽量照顾一下,不要让我看后痛哭流涕呀~谢谢啦!不过因为我的经验尚浅,所写的东西,一是向大家分享,二也是为提高与督促自己。
最近迫切的想做一个个人网站,所以会在待续的文章中分享下我的具体心得以及代码。具体使用python+django+mysql。今天先简单建个django的框架。
环境:MAC os x/Ubuntu
1.创建django框架
django-admin.py startproject sharonsite这样会在你的当前目录下创建一个目录。sharonsite
结构如下:sharonsite/
manage.py sharonsite/
__init__.py settings.py urls.py wsgi.py
大家可能发现,为什么我这个目录结构和一般的教程不一样,这个我估计是版本的问题,不过无所谓,我们打开manage.py,可以看到,6 lines os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “sharonsite.settings”),其实只要吧settings路径写好了,放到哪倒无所谓了。
2.python manage.py runserver 0.0.0.0:8000 启动服务器,访问http://localhost:8000/(本机IP地址)
3.编辑views.py 视图
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world")
4.编辑URLconf–urls.py———-如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Python tuple即可.
from django.conf.urls.defaults import * from mysite.views import hello urlpatterns = patterns(\'\', (\'^hello/$\', hello), )
这时访问http://192.168.1.103:8000/应该就能看到Hello world了
5.常用的正则表达式
符号 |
匹配 |
. (dot) |
任意单一字符 |
\d |
任意一位数字 |
[A-Z] |
A到Z中任意一个字符(大写) |
[a-z] |
a到z中任意一个字符(小写) |
[A-Za-z] |
a到z中任意一个字符(不区分大小写) |
+ |
匹配一个或更多 (例如, \d+匹配一个或多个数字字符) |
[^/]+ |
一个或多个不为‘/’的字符 |
* |
零个或一个之前的表达式(例如:\d?匹配零个或一个数字) |
* |
匹配0个或更多 (例如, \d*匹配0个或更多数字字符) |
{1,3} |
介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字) |
6.模板–不建议使用python语句
{%if%}{%endif%}
{%for%}{%endfor%}
{% ifequal var1 var2 &} {% endifequal &}—–直接使用变量,不用加{{ var }}
编辑settings.py:
TEMPLATE_DIRS = { \'/home/django/sharonsite/templates\', }
编辑views.py:
from django.template.loader import get_template from django.template import Context from django.http import HttpResponse import datetime def current_datetime(request): wifi_merchant_list = wifi_merchant.objects.get(bssid=var)----获取一个字典 t=get_template(\'a.html\') html = t.render(Context({\'wifi\': wifi_merchant_list}))-----传递这个字典 return HttpResponse(html)
编辑模型a.html:
<html><body>It is now {{ wifi.hot_name }}.</body></html>——用\’.\’获取具体值
7.模型
编辑settings.py文件:
DATABASE_ENGINE = \'django.db.backends.mysql\' DATABASE_NAME = \'xxwifi\' DATABASE_USER = \'root\' DATABASE_PASSWORD = \'\' DATABASE_HOST = \'\' DATABASE_PORT = \'\'
在“ mysite“ 项目文件下输入下面的命令来创建“ books“ app:
python manage.py startapp books
books/
__init__.py
models.py
tests.py
views.py
只需修改models.py:——–建表
from django.db import models class wifi_merchant(models.Model): hot_name = models.CharField(max_length=20) bssid = models.CharField(max_length=20) passkey = models.CharField(max_length=20) def __unicode__(self): return self.hot_nam