我想从 HTML 表单中删除必需的属性。它应该从服务器端给出这个字段是必需的错误。以前我使用 required self.fields['group_name'].required=False。但它不会为空白或空数据给出错误。然后我开始知道use_required_attribute,但我不知道它以及如何使用它。
class GroupForm(forms.ModelForm):
use_required_attribute = False
class Meta:
model = Groups
fields = ['group_name', 'group_description', 'group_status']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud) django django-templates django-models django-forms django-views
我知道那F Strings是在Python 3.6. 为此,我收到了错误 -Invalid Syntax
DATA_FILENAME = 'data.json'
def load_data(apps, schema_editor):
Shop = apps.get_model('shops', 'Shop')
jsonfile = Path(__file__).parents[2] / DATA_FILENAME
with open(str(jsonfile)) as datafile:
objects = json.load(datafile)
for obj in objects['elements']:
try:
objType = obj['type']
if objType == 'node':
tags = obj['tags']
name = tags.get('name','no-name')
longitude = obj.get('lon', 0)
latitude = obj.get('lat', 0)
location = fromstr(F'POINT({longitude} {latitude})', srid=4326)
Shop(name=name, location = location).save()
except KeyError:
pass
Run Code Online (Sandbox Code Playgroud)
错误 -
location = (F'POINT({longitude} {latitude})', srid=4326)
^
SyntaxError: …Run Code Online (Sandbox Code Playgroud) serializers.py
class MovieSerializer(serializers.ModelSerializer):
class Meta:
model = Movie
fields = [
'popularity',
'director',
'genre',
'imdb_score',
'name',
]
Run Code Online (Sandbox Code Playgroud)
views.py
class MovieList(generics.ListCreateAPIView):
queryset = Movie.objects.all().order_by('-id')[:10]
serializer_class = MovieSerializer
permission_classes = (IsAuthenticated,)
def list(self, request):
queryset = self.get_queryset()
serializer = MovieSerializer(queryset, many=True)
return Response(serializer.data)
def post(self, request, format=None):
data = request.data
if isinstance(data, list):
serializer = self.get_serializer(data=request.data, many=True)
else:
serializer = self.get_serializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我这样发送数据,它可以正常工作。
{
"popularity": 83.0,
"director": "Victor Fleming",
"genre": [
1,
2,
3, …Run Code Online (Sandbox Code Playgroud) 我想在 Django 模型中输入默认值。就像我创建了一个Role模型
class Role(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length=100)
class Meta:
verbose_name = _('role')
verbose_name_plural = _('roles')
db_table = "role"
def __str__(self) :
return self.name
Run Code Online (Sandbox Code Playgroud)
我想在迁移时输入默认值 -makemigrations和migrate.
应输入示例数据 -
name - Super Admin
Description - This is Super Admin
name - Admin
Description - This is Admin
name - Manager
Description - This is Manager
Run Code Online (Sandbox Code Playgroud)
这将帮助我完成手工工作。谢谢你。
基本上我正在向用户发送电子邮件password and username。我可以使用self.cleaned_data.get('email'). 但问题是我不知道如何从视图中获取密码,我在视图中设置了随机密码。所以请帮助我从 views.py 到 forms.py 中获取随机密码def send_email
表单.py
class UserRegisterForm(forms.ModelForm):
email = forms.EmailField()
first_name = forms.CharField()
last_name = forms.CharField()
class Meta:
model = User
fields = ['first_name','last_name', 'email']
def send_email(self):
name = self.cleaned_data.get('first_name')
username = self.cleaned_data.get('email')
to_email = self.cleaned_data.get('email')
password1 = # Get Password from view
Run Code Online (Sandbox Code Playgroud)
视图.py
def register(request):
if request.method == 'POST':
ur_form = UserRegisterForm(request.POST)
pr_form = UserProfileForm(request.POST, request.FILES)
user_role = 0
if ur_form.is_valid() and pr_form.is_valid():
new_user = ur_form.save(commit=False)
new_user.username = new_user.email …Run Code Online (Sandbox Code Playgroud) django django-templates django-models django-forms django-views
我想要CreateAPIView这样的回复
Response(
{
'status': status_code.HTTP_200_OK,
'message': 'Testimonials fetched',
'data': serializer.data
},)
Run Code Online (Sandbox Code Playgroud)
但我不知道最好在内部使用哪个函数AddAPIView来获得上述响应
class AddAPIView(generics.CreateAPIView):
queryset = Masjid.objects.all()
serializer_class = serializers.MasjidAddSerialzer
permission_classes = [IsAuthenticated]
Run Code Online (Sandbox Code Playgroud) import csv
import json
def csv_to_json(csvFilePath):
jsonArray = []
decoded_file = csvFilePath.read().decode('utf-8').splitlines()
#load csv file data using csv library's dictionary reader
csvReader = csv.DictReader(decoded_file)
#convert each csv row into python dict
for row in csvReader:
#add this python dict to json array
option = [row['option1'], row['option2'], row['option3'], row['option4']]
option = filter(None, option)
newJson = {
'numb': row['numb'],
'question': row['question'],
'answer': row['answer'],
'options': option
}
jsonArray.append(newJson)
print('>>>>>>>jsonArray>>>>>>>', jsonArray)
jsonString = json.dumps(jsonArray)
print('>>>>>>>jsonString>>>>>>>', jsonString)
return jsonArray
Run Code Online (Sandbox Code Playgroud)
错误
TypeError at /path/path
Object of …Run Code Online (Sandbox Code Playgroud) 我想按顺序显示Django模板中的计数。
就像 for 循环迭代 5 次一样,它应该在 Django 模板中打印0,1,2,3,4。
users包含我从views.py传递的字符串
{% for user in users %}
<tr>
<td>
FOR LOOP ITERATE COUNT
</td>
<td>
{{ user.first_name }}
</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud) 我试图在注销后重定向到登录页面,但出现了一些问题。
urls.py
Run Code Online (Sandbox Code Playgroud)
这是我的实际注销路线,它对我有用,但它不会将我重定向到登录页面
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
Run Code Online (Sandbox Code Playgroud)
更改 logout.html -> login.html
它会破坏会话并注销用户,但问题是当我单击注销时,它会重定向到登录页面,但未显示登录输入字段
path('logout/', auth_views.LogoutView.as_view(template_name='users/login.html'), name='logout'),
Run Code Online (Sandbox Code Playgroud)
如果我使用下面的路径(路线)。它不会破坏会话或注销
path('login/', auth_views.LogoutView.as_view(template_name='users/login.html'), name='logout'),
Run Code Online (Sandbox Code Playgroud) django django-templates django-models django-forms django-views
我要发送成功message status result_count。返回响应时。类似于下面的 JSON 响应
{
"status":true,
"result_count":5,
"message":"Timesheet Retrieved Successfully.",
"result": [
{
"user_id": "40",
"user_name": "Derek Hedrick",
"data": [
{
"timesheet_id": "2",
"job_id": "11",
"job_code": "rfyxlv",
"clock_in": "2018-09-07T03:00",
"clock_out": "2018-09-07T15:00"
"note": "This is test note",
"type":
{
"regular":"7",
"overtime":"2"
}
},
Run Code Online (Sandbox Code Playgroud)
但我得到这样的回应
[
{
"id": 1,
"job_group": 1,
"job_name": "RAJJUUU",
"job_number": "hjhasfd",
"job_description": "Json",
"job_start_date": "2018-03-29",
"job_start_time": "14:20:00",
"job_end_date": "2018-03-29",
"job_end_time": "14:20:00",
"job_status": "Active",
"job_created_on": "2019-01-28T08:32:47.327096Z"
}
]
Run Code Online (Sandbox Code Playgroud)
我如何添加自定义消息。这是我的ListAPIView
class JobsListAPIView(generics.ListAPIView):
serializer_class = JobListSerialzer
# …Run Code Online (Sandbox Code Playgroud)