django笔记

django

1.创建工程
django-admin.py startproject website
2.创建应用
manage.py startapp blog
3.修改seting.py
TIME_ZONE = 'Asiz/Shanghai' #修改时区
LANGUAGE_CODE = 'zh-cn' #修改语言
INSTALLED_APPS=( #添加应用名
'blog',
)
4.修改urls.py
urlpatterns = patterns('',
url(r'^blog/index/$','blog.views.index'), #url映射路径
)
5.定义一个index,在blog/views.py
#添加视图处理函数
def index(request):
return HttpResponse("<h1>hello world</h1>")

6.创建模板,blog/templates/index.html

7.修改views.py


8.启动容器
manage.py runserver


----------------------------------------------------
数据绑定:
修改blog/views.py
#添加视图处理函数
def index(request):
t = loader.get_template("index.html")
user = {"name":"tom","age":23,"sex":"male"}
person = Person("jack",25,"fmale")
book_list = ["python","ruby","java","c"]
c = Context({"title":"django","user":person,"book_list":book_list})
return HttpResponse(t.render(c))

#模板页面index.html 绑定变量 使用双大括号

<li>{{user.name}} <li>
<li>{{book_list.0}} <li>


#模板页面index.html if语句,for语句

{% if not user.age %}
<li>user.age 为 0 <li>
{% endif %}

{% for book in book_list %}
<li>{{book}}<li>
{% empty %}
<li>没有数据</li>
{% endfor %}

{% if not user.age %}
<li>user.age 为 0 <li>
{% else %}
<li> 年龄大于0</li>
{% endif %}

---------------------------------------------------------
过滤器
#upper 为转换大写的内置过滤器 例如:lower ,capfirst
{% for book in book_list %}
<li>{{book | upper }}<li>

{% endfor %}
#date 为日期格式化的内置过了器
{{today | date:"Y-m-d"}}

自定义过滤器
1. 在应用目录下面创建templatetags文件夹,里面创建__init__.py文件
将这个templatetags文件夹作为一个python包

2.在templatetags包下面创建过滤器python文件,
例如:percent.py

from diango import template
register = template.Library()
#自定义过滤器函数
def percent(value):
return value+"%"
#将自定义过滤器函数注册进入过滤器中,页面就可以使用了
register.filter(percent)

3.页面使用:
{% load percent%} #必须要先加载过滤器
<li> today is {{ today | percent}}</li> #使用自定义的过滤器

-------------------------------------------------------------------------
url配置
通过修改urls.py,实现url映射

urlpatterns = patterns('blog.views',
url(r'^blog/index/$','index'), #url映射路径

)


urlpatterns = patterns('blog.views',
url(r'^blog/',include('blog.urls')), #include函数引入的urls.py文件是放在应用(blog)目录下面的urls.py文件

)

url传值,映射

urlpatterns = patterns('blog.views',
url(r'^blog/index/$','index'), #url映射路径
url(r'^foo/(\d{4})/(\w+)/$','foo'), #restful风格的路径 例如:foo/1234/abc
url(r'^bar/(?P<id>\d{4})/(?P<name>\w+)/$','bar'), # ?P<id>,?P<name> ,定义了视图函数的参数变量名为id,name,
)

url路径:time?id=1123
视图函数获取参数,例如:
def time(request):
t = loader.get_template("index.html")
id = request.GET.get("id") #获取url中的参数值
c = Context({"title":"django","id":id})
return HttpResponse(t.render(c))

---------------------------------------------------
settings.py 中配置数据库:
DATABASES

models.py 中定义ORM的实体对象
例子:
from django.db import models
class Teacher(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
class Meta:
db_table = 'teacher'
class Student(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
age = models.IntegerField()
intime= models.DateField()
teacher = models.ForeignKey(Teacher)
class Meta:
db_table = 'student'

manage.py syncdb 将实体对象同步到数据库中,创建对应的表

-----------------------------------------------------------------------

用户信息扩展方式
1) profile扩展,也就是外键表扩展

2)继承AbstractUser
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于武沛齐的Django笔记中的Ajax请求部分,以下是一些常见的步骤和注意事项: 1. 在前端页面中,使用JavaScript编写一个Ajax请求。可以使用原生的XMLHttpRequest对象,也可以使用jQuery等库来简化操作。例如,使用jQuery的$.ajax()函数可以发送Ajax请求。 2. 在Django中,创建一个处理Ajax请求的视图函数。这个视图函数需要使用装饰器`@csrf_exempt`来取消跨站请求伪造保护。 3. 在视图函数中,可以通过`request.is_ajax()`方法来判断请求是否为Ajax请求。如果是Ajax请求,可以使用`request.POST`或`request.GET`来获取前端发送的数据。 4. 处理完请求后,可以返回JSON格式的数据给前端。可以使用Django提供的`JsonResponse`类来方便地返回JSON响应。 以下是一个简单的示例代码: 前端页面中的JavaScript代码: ```javascript $.ajax({ type: "POST", url: "/ajax-request-url/", data: { key1: value1, key2: value2 }, success: function(response) { // 处理成功响应的逻辑 }, error: function(xhr, status, error) { // 处理错误响应的逻辑 } }); ``` Django中的视图函数: ```python from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def ajax_request_view(request): if request.is_ajax(): key1 = request.POST.get('key1') key2 = request.POST.get('key2') # 处理数据逻辑 response_data = {'key': 'value'} return JsonResponse(response_data) else: return HttpResponseBadRequest("Bad Request") ``` 请注意,这只是一个简单的示例,实际的实现可能会根据具体需求有所不同。还请参考官方文档和其他资源以获取更详细的信息和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值