用django创建一个简单的sns

来源:互联网 发布:2017网络歌曲 编辑:程序博客网 时间:2024/06/06 15:57

1.首先创建一个工程newsns

django-admin.py startproject newsns

在工程目录下新建一个文件夹templates,在该文件夹下创建一个模版index.html:

<title>newsns -by django</title><h1><font color=#{{color}}>Django, my first django program.</font></h1>

参照上篇文章中创建模版的方法,将app目录下的settings.py文件、views.py文件和urls.py文件进行相应设置。

2.创建数据库,配置数据

在app目录下的settings.py中进行如下设置

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.        'NAME': 'newsns',                      # Or path to database file if using sqlite3.        'USER': 'root',                      # Not used with sqlite3.        'PASSWORD': '***',                  #密码.        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.    }}

增加app newsns:

 1 INSTALLED_APPS = ( 2     'django.contrib.auth', 3     'django.contrib.contenttypes', 4     'django.contrib.sessions', 5     'django.contrib.sites', 6     'django.contrib.messages', 7     'django.contrib.staticfiles', 8     # Uncomment the next line to enable the admin: 9     # 'django.contrib.admin',10     # Uncomment the next line to enable admin documentation:11     # 'django.contrib.admindocs',12     'newsns',13 )

在控制台中使用mysql命令创建数据库newsns

mysql> create database newsns default character set utf8 collate utf8_general_ci;Query OK, 1 row affected (0.03 sec)

然后在app目录下创建一个models.py文件,该文件创建了3个类,实际上每个类代表一个表格,类的字段为表的字段。

 1 from django.db import models 2  3 class Publisher(models.Model): 4     name = models.CharField(max_length=30) 5     address = models.CharField(max_length=50) 6     city = models.CharField(max_length=60) 7     state_province = models.CharField(max_length=30) 8     country = models.CharField(max_length=50) 9     website = models.URLField()10 11 class Author(models.Model):12     first_name = models.CharField(max_length=30)13     last_name = models.CharField(max_length=40)14     email = models.EmailField()15 16 class Book(models.Model):17     title = models.CharField(max_length=100)18     authors = models.ManyToManyField(Author)19     publisher = models.ForeignKey(Publisher)20     publication_date = models.DateField()

在控制台输入以下命令,按照要求输入帐号、密码,建立上述表格:

***@Android:~/newsns# python manage.py validate0 errors found***@Android:~/newsns# python manage.py syncdb

创建好表格后我们在manage.py shell中进行测试:

 1 ***@Android:~/newsns# python manage.py shell 2 Python 2.7.3 (default, Aug  1 2012, 05:14:39)  3 Type "copyright", "credits" or "license" for more information. 4  5 IPython 0.13.1 -- An enhanced Interactive Python. 6 ?         -> Introduction and overview of IPython's features. 7 %quickref -> Quick reference. 8 help      -> Python's own help system. 9 object?   -> Details about 'object', use 'object??' for extra details.10 11 In [1]: from newsns.models import Publisher12 13 In [2]: p = Publisher(name = 'Jim', city = 'beijing')14 15 In [3]: p.save()16 17 In [4]: l = Publisher.objects.all()18 19 In [5]: for n in l:20    ...:     print n.name21    ...:     22 Jim

好了,测试无误。

 

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击