-1
을 반환하지 않았으므로 URLs.py에 다음 코드가 있습니다. Django 오류 - 내 응용 프로그램 폴더에 HttpResponse 객체
urlpatterns = patterns('',
(r'^login/$', 'django.contrib.auth.views.login'),
# (r'^catalog/$', home),
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{ 'document_root' : 'C:/SHIYAM/Personal/SuccessOwl/SOWL0.1/SOWL/SOWL/static'}),
# (r'^admin/', include('django.contrib.admin.urls')),
(r'^catalog/', include('CATALOG.urls')),
(r'^accounts/', include('registration.urls')),
(r'^$', main_page),
)
나는 "카탈로그"라는 별도의 응용 프로그램 (폴더)가 있으며 URLs.py 다음과 같은 코드가있다 : 카탈로그 폴더에서
urlpatterns = patterns('SOWL.catalog.views',
(r'^$', 'index', { 'template_name':'catalog/index.html'}, 'catalog_home'),
(r'^category/(?P<category_slug>[-\w]+)/$', 'show_category', {'template_name':'catalog/category.html'},'catalog_category'),
(r'^product/(?P<product_slug>[-\w]+)/$', 'show_product', {'template_name':'catalog/product.html'},'catalog_product'),
(r'^enter_product/$',enter_product),
)
를, 내가 forms.py이
from django import forms
from CATALOG.models import Product
class ProductAdminForm(forms.ModelForm):
class Meta:
model = Product
def clean_price(self):
if self.cleaned_data['price'] <= 0:
raise forms.ValidationError('Price must be greater than zero.')
return self.cleaned_data['price']
class Product_Form(forms.Form):
name = forms.CharField(label='name', max_length=30)
slug = forms.SlugField(label='Unique Name for the URL', max_length=30)
brand = forms.CharField(label='Unique Name for the URL', max_length=30)
price = forms.DecimalField(label='Price',max_digits=9,decimal_places=2)
old_price = forms.DecimalField(max_digits=9,decimal_places=2,initial=0.00)
quantity = forms.IntegerField()
description = forms.CharField()
meta_keywords = forms.CharField(max_length=255)
meta_description = forms.CharField(max_length=255)
categories = forms.CharField(max_length=255)
user = forms.IntegerField()
prepopulated_fields = {'slug' : ('name',)}
및 views.py
from CATALOG.forms import *
def enter_product(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
user = User.objects.create_user(
username=form.clean_data['username'],
password=form.clean_data['password1'],
email=form.clean_data['email']
)
return HttpResponseRedirect('/')
else:
form = RegistrationForm()
variables = RequestContext(request, {
'form': form
})
return render_to_response(
'catalog/enter_product.html',
variables
)
{% extends "base.html" %}
{% block title %}blah{% endblock %}
{% block head %}blah{% endblock %}
{% block content %}
<form method="post" action=".">
{{ form.as_p }}
<input type="submit" value="Enter" />
</form>
{% endblock %}
하지만 localhost로 갈 때 : 8000/카탈로그/enter_product이 /가 말했다 :및 "\ 템플릿 \ 카탈로그"폴더에, 나는 다음과 같은 코드가 "enter_product.html"을 가지고
보기 CATALOG.views.enter_product가 HttpResponse 오브젝트를 리턴하지 않았습니다.
왜 그런가요? 당신의 도움을 주셔서 감사합니다.
- 토론토
가져 * DEF enter_product (요청) \t request.method가 == 'POST'경우 : \t \t 형태 = RegistrationForm (request.POST) \t \t) (form.is_valid 경우 : form.clean_data = [ '이름', \t \t \t \t \t 암호 = form.clean_ \t \t 사용자 = User.objects.create_user ( \t \t \t \t 자명 데이터 [ '가 password1'] \t \t \t \t 이메일 form.clean_data = [ '이메일'] \t \t \t) \t \t \t HttpResponseRedirect를 리턴 ('/') 다른 \t : \t \t 형태 RegistrationForm =() \t 변수 = RequestContext (요청 { \t \t \t '형태'형태 \t \t}) – user1666952