Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django filter objects by Foreign Key
I have troubles with filtering objects . The objects are displaying in all lists but I have set Foreign key for specific list . Is there any solutions ? models.py class Lists(models.Model): title = models.CharField(max_length=200) class ListsItem(models.Model): date = models.DateTimeField(default=datetime.now,blank=True) title = models.CharField(max_length=200) main_list=models.ForeignKey(Lists, on_delete=models.SET_NULL, null=True) views.py lists = Lists.objects.order_by('date') listitems = ListsItem.objects.filter(main_list__in=lists).order_by('date') template {% if lists %} {% for list in lists %} {{list.title}} {% if listitems %} {% for listitem in listitems %} {{listitem.title_item}} {% endfor %} {% endif %} {% endfor %} {% endif %} -
My Django Orm Query is too slow. How can I index these tables?
I'm developing by Django and Django ORM. My queries are too slow. I wanna upgrade my query, but I don't know how to index. query 1 takes 4 seconds. query 2 takes 7 seconds. models # 40 rows Class Category(models.Model): title = models.CharField(max_length=50, unique=True) # 1,000,000 rows Class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) group = models.ManyToManyField(Group, related_name='group_members', blank=True) category = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True) # 10,000,000 rows Class DayLog(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='day_log') groups = models.ManyToManyField(Group, related_name='member_day_logs') ms = models.IntegerField(default=0) # 300,000 rows Class Group(models.Model): title = models.CharField(max_length=100, db_index=True) orm 1. query_set = Group.objects.get(id=1).member_day_logs.filter(date='2020-04-29') 2. query_set = Group.objects.get(id=1).member_day_logs.select_related('user__profile').filter(date='2020-04-29').order_by(‘-ms') raw query 1. SELECT * FROM daylog INNER JOIN daylog_groups ON (study_daylog.id = daylog_groups.daylog_id) WHERE (daylog_groups.group_id = 1 AND daylog.date = "2020-04-29") 2. SELECT * FROM daylog INNER JOIN daylog_groups ON (study_daylog.id = daylog_groups.daylog_id) INNER JOIN auth_user ON (daylog.user_id = auth_user.id) LEFT OUTER JOIN profile ON (auth_user.id = profile.user_id) WHERE (daylog_groups.group_id = 1 AND daylog.date = "2020-04-29") ORDER BY daylog.ms DESC explain 1-1 table: day_log_groups, Type: ref, possibleKeys: …., key: …id, key_len: 4, ref: const, rows: 3762, extra: null 1-2 table: day_log, type: eq_ref, possibleKeys:…., key: PRIMARY, key_len: 4, ref: daylog_id, rows: 1, extra: Using where 2-1 table: day_log_groups, type: ref, possibleKeys: … -
Django 3 not compitable for channels
I have a project written in Django 3, now I am trying to implement real-time data visualization with Django channels But Django channels is not compatible with Django 3 Can anyone please help how can i achieve this? -
Convert base64 into zipfile in django
Convert base64 into zipfile in django serializers "image":"File extension “zip” is not allowed. in django -
Postgresql Master-slave replication lagged but pgpool was sending traffic to both db (master n slave)
We do database load balancing using pgpool2 framwork (master + 1 slave). Yesterday I got few database errors on test server saying - 'column X does not exist' Upon debugging we found that master-slave replication has stopped or lagged due to which django migration was done just on master server but not on slave. pgppol was still sending read queries to slave server. How can I avoid such problems or automate such that alarm is raised or notification if anything happen. -
Django-python email form is not forwarding sender's email address via gmail smtp
I am setting email form at my django-python based webpage. I have seen this cool video nicely explaining how setup django and how to incorporate gmail as the smtp server. The form has three fields: Full Name; Email Address; and Message. Everything works fine, but gmail smtp says that I (EMAIL_HOST_USER) am the sender of the message and not the person who fulfilled the form, i.e. I am missing fulfilled email address. From comments under the video, I have found I am not the only one who has this problem and who do not know how to solve it. I have managed only one temporal non-ideal solution to redirect everything from the form (i.e. variables message_name, message_email and message) into the body of the message as follows: send_mail( 'message from ' + message_name, # email_subject 'Full Name: ' + message_name + '; Email Address: ' + message_email + '; Message: ' + message, # message message_email, # from email ['recepient1@example.com', 'recepient2@example.com'], # To Email ) Does somebody know another more elegant solution which would redirect the email address as the real email's sender? Or minimally, please, give me an advice how to print Full Name; Email Address; and Message at … -
Django host: runserver not showing error when it starts with an ip which is not the ip of the host
The following is the ip address of my host which runs the django server ~ # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 25: eth0@if26: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0 valid_lft forever preferred_lft forever Here the ip addresses are 127.0.0.1 (lo) and 172.17.0.2 (eth0@if26) The netstat shows the routing table ~ # netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.17.0.1 0.0.0.0 UG 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 ~ # I am planning to start the server on 172.17.0.2 for remote access But before that i want to test to start server on 172.17.0.0 , just want to see what happens $ python runserver 172.17.0.0:8888 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). April 30, 2020 - 07:10:35 Django version 3.0.5, using settings 'django_project_test.settings' Starting development server at http://172.17.0.0:8888/ Quit the server with CONTROL-C. So the server is starting The netstat shows the port is listening … -
I have Deployed My Django App in apache server . All the static files are getting served properly but its not accepting media files from Form Input
While Submitting a form having media input its showing [Errno 13] Permission denied: '/home/ubuntu/django/media/pictures' I have searched in google but no one told giving permissions for media files , they ever all telling about static files only . Can any one please tell me which permission i have to give to it with chmod no. -
Django - Importing one variable from app1/ models.py to app2/models.py
I'm having difficulties understanding how I can import the "category" variable from Class Questions to my Class post_job. What I want is for me to be possible to add the "category" in the Class post_job. So, when a "job is posted" you can see all the variables including that category. jobs/models.py from django.db import models from django.contrib.auth.models import User # Create your models here. class post_job(models.Model): posizione= models.CharField(max_length=20) descrizione= models.TextField(max_length=60) requisiti= models.TextField(max_length=60) nome_azienda= models.CharField(max_length=20, default=' inserisci nome') email_referente= models.CharField(max_length=20, default='inserisci email') def __str__(self): """String for representing the MyModelName object (in Admin site etc.).""" return self.posizione quiz/models.py from django.contrib.auth.models import User from django.db import models # Create your models here. class Questions(models.Model): CAT_CHOICES = ( ('datascience', 'DataScience'), ('productowner', 'ProductOwner'), ('businessanalyst', 'BusinessAnalyst'), #('sports','Sports'), #('movies','Movies'), #('maths','Maths'), #('generalknowledge','GeneralKnowledge'), ) question = models.CharField(max_length = 250) optiona = models.CharField(max_length = 100) optionb = models.CharField(max_length = 100) optionc = models.CharField(max_length = 100) optiond = models.CharField(max_length = 100) answer = models.CharField(max_length = 100) catagory = models.CharField(max_length=20, choices = CAT_CHOICES) student = models.ManyToManyField(User) class Meta: ordering = ('-catagory',) def __str__(self): return self.question -
I keep getting this error: TypeError: data.map is not a function
i am trying to create a site using django and react, but when i try to view it, i keep getting this error TypeError: data.map is not a function. below is my code, i don't seem to know the problem i am trying to create a site using django and react, but when i try to view it, i keep getting this error TypeError: data.map is not a function. below is my code, i don't seem to know the problem state = { loading: false, error: null, data: [] }; componentDidMount() { this.setState({ loading: true }); axios .get(productListURL) .then(res => { this.setState({ data: res.data, loading: false }); }) .catch(err => { this.setState({ error: err, loading: false }); }); } render() { const { data, error, loading } = this.state; return ( <Container> {error && ( <Message error header="There was some errors with your submission" content={JSON.stringify(error)} /> )} {loading && ( <Segment> <Dimmer active inverted> <Loader inverted>Loading</Loader> </Dimmer> <Image src="/images/wireframe/short-paragraph.png" /> </Segment> )} <Item.Group divided> {data.map(item => { return <Item key={item.id}> <Item.Image src={item.image} /> <Item.Content> <Item.Header as='a'>{item.title}</Item.Header> <Item.Meta> <span className='cinema'>{item.category}</span> </Item.Meta> <Item.Description>{item.description}</Item.Description> </Item.Content> </Item> })} </Item.Group> </Container> ); } } export default ProductList``` -
Donwload MP3 File Django Through Ajax Request
How to download file in django , through ajax call ?. You can assume that , file is ready and you have a file_path) (Note : Don't want to return a file as response, just return a status variable that download is successfull) Please help. -
corseheaders.middleware is not a package
I'm new to django. I'm trying to link my react frontend to my django backend and i need to make the django-cors-headers package work to make axios.post() work. But i keep getting corseheaders.middleware is not a package, although i already installed it using pip and added the config to my settings.py. Any help? This is my settings.py: Django settings for BackEnd project. Generated by 'django-admin startproject' using Django 3.0.5. For more information on this file, see https://docs.djangoproject.com/en/3.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.0/ref/settings/ """ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '----' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['localhost','127.0.0.1'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'corsheaders', 'databaseAPI', ] MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware' 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] CORS_ORIGIN_ALLOW_ALL=True ROOT_URLCONF = 'BackEnd.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION … -
Django Models Not Fetching different URLS
I am trying to create a music website using python django for backend. I need to fetch different spotify urls for different songs and I recommend it using my Django Admin Panel. The problem I am facing is the moment I define url for second song and the consecutive ones my songs fetch the same url I previously defined for first song. In this way, my every song dialog box plays the same song as the first one defined. Here is the model I defined for My Song: Model Image Here are the changes I made in my HTML file to view the model: Dashboard Image And Finally here is the Views I am using in views.py file of app: Views Image Any help would be highly aprreciated. -
Redirect RabbitMQ new messages to WebClients using Django Channels
I have a map application expected to show entities live location on map. The entities send location to Rabbitmq and I'm supposed yo read these locations and redirect them to web clients. I'm going to use Django channels for implementing websochet part. I set up RabbitMQ as Django Channels Channel_layer. My question is how to read data from RabbitMQ (basic_consume) and send it to web client using websocket. I the websocket connet method I call the consume method to start consuming from rabbitMQ: async def connect(self): await self.accept() await self.channel_layer.group_add("gossip", self.channel_name) obj_rabbit_mq = RabbitMQueue() obj_rabbit_mq.consume("my_channel") and this is the consummer part. I can see the body part in my logs but the part that group_send it doesnt work. class RabbitMQueue: def consume(self, queue): print("Consuming {} ...".format(queue)) self.declare_queue(queue) def callback(ch, method, properties, body): print(" Received {}".format(body)) channels_layer = get_channel_layer() print("channels_layer: {}".format(channels_layer)) # async_to_sync(channels_layer.group_send)( channels_layer.group_send( "gossip", { "type": "user.gossip", "event": "New User", "username": body } ) self.channel.basic_consume( queue=queue, on_message_callback=callback, auto_ack=False) print(' [*] Waiting for messages. To exit press CTRL+C') self.channel.start_consuming() -
Uploading multiple images in one field using django rest framework
I am building a website where people can make a post describing something and uploading multiple images to that post as it is getting created. Also even though I want to be able to upload numerous images at the same time, I want users to be able to delete a single image out of the post. My major concern is how my model or view will be set up in order for users to be able to upload the multiple images as planned. I have tried to do a many to many relationships like in my model below but it just doesn't work class Photo(models.Model): ''' photos model ''' url = models.ImageField(blank=True, null=True) class Post(models.Model): ''' post model, allows users to post pictures and describe their feeling at the moment ''' user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING, related_name="post_user") title = models.CharField(max_length=100) description = models.TextField(null=True) photos = models.ManyToManyField(Photo, related_name="assets") likers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name="post_likers") created_on = models.DateTimeField(auto_now_add=True) updated_on = models.DateTimeField(auto_now=True) def __str__(self): return self.title serializers.py class PhotoSerializer(serializers.ModelSerializer): class Meta: model = Photo fields = ['pk', 'url'] class PostSerializer(serializers.ModelSerializer): user = serializers.SlugRelatedField(read_only=True, slug_field='slug') created_on = serializers.SerializerMethodField(read_only=True) photos = PhotoSerializer() class Meta: model = Post exclude = ['likers', 'updated_on', 'id'] views.py class PostCreateView(generics.CreateAPIView): ''' Create collaborations … -
How to Attach File to LinkedIn by Python code
I am trying to attach pdf file to LinkedIn by Python code. I read some documentation and still didn't find out how to do it. I read some documentation, and they only show to make a post to LinkedIn as text or image. Please help me with this -
How to filter DB in Django using list?
class Student(): name=models.CharField(max_length=200) surname=models.CharField(max_length=200) class group2020(): name=models.CharField(max_length=200) math=models.DecimalField(decimal_places=2,max_digits=1000) english=models.DecimalField(decimal_places=2,max_digits=1000) biology=models.DecimalField(decimal_places=2,max_digits=1000) chemistry=models.DecimalField(decimal_places=2,max_digits=1000) class group2019(): name=models.CharField(max_length=200) math=models.DecimalField(decimal_places=2,max_digits=1000) english=models.DecimalField(decimal_places=2,max_digits=1000) biology=models.DecimalField(decimal_places=2,max_digits=1000) chemistry=models.DecimalField(decimal_places=2,max_digits=1000) class group2018(): name=models.CharField(max_length=200) math=models.DecimalField(decimal_places=2,max_digits=1000) english=models.DecimalField(decimal_places=2,max_digits=1000) biology=models.DecimalField(decimal_places=2,max_digits=1000) chemistry=models.DecimalField(decimal_places=2,max_digits=1000) I combined years in list the following way by subjects: math=[group2020.math,group2019.math,group2018.math] english=[group2020.english,group2019.english,group2018.english] chemistry=[group2020.chemistry,group2019.chemistry,group2018.chemistry] type_1=list(map(lambda n,m:n/m,math,english )) type_2=list(map(lambda n,a:n/a,chemistry,math )) I want to filter from DB students that meets criteria where type_1 >2 and type_2 <1. i know to to make the seperate years using annotaions and filter like using: result = groupA.objects.annotate( type_1=F('math') / F('english'), type_2=F('chemistry') / F('math'), ).filter(type_1__gt=2, type_2__lt=1) However i can get the result of type_1 and type_2 for one year 2020 however i want to get for 3 years in more efficients years rather than doing manually. How to do that. I tried to find in stackoverflow but do not get result for list case inserting in filter. Your help is very much appreciated. -
Django Admin get_queryset with RawQuerySet
I'm developing a product for a client and I've come across the following problem: There's a model I'm working with a RawQuerySet, and I need to show it in the index of this particular application, but by defining get_queryset() inside the ModelAdmin, the application breaks. However if I enter an item directly, it reads it and works correctly. I've been working on this for a day and a half now and I can't think of anything else to do to try and fix it. This is how the get_queryset method looks like: class QuestionnaireAdmin(admin.ModelAdmin): def get_queryset(self, request): return Questionnaire.objects.raw("SELECT * FROM........") And when I enter the admin site of Questionnaires index, this is what I get: Admin Site Error Picture Also, the console doesn't return anything when this happens so I'm a little lost. I'd appreciate any kind of help. Python version is 3.7 and Django version is 2.2 -
django-rest with multiple url parameters
Using djange-rest framework along with Django 3.0 In my urls.py i have these lines: router.register('search/(?P<param_1>\d+)', SomeView, basename='someview') router.register('search/(?P<param_1>\d+)/(?P<param_2>\d+)', SomeView, basename='someview') I have a problem accessing the second url parameter in the second line. It seems like the first line changes the parsing of the second param of the second line. In the SomeView class the self.kwargs dictionary has 'param_1' and 'pk'. If I remove the first line, it all goes well, i get the dictionary populated with 'param_1' and 'param_2'. Is it a weird behavior, or am I missing something? How do I get 'param_2' in the dictionary in this case? -
How to show folders and files under a zip , which was uploaded on django website
I have made a website where users can upload zip files.I want to show files and folders under that zip file and can open the files and edit. How can I do this ? -
TemplateDoesNotExist at /student/login/ , although the template with proper name exits
I am a beginner in Django and I'm trying to learn. I can't figure out the cause of the error, the template name is defined as per the documentation students/student_detail.html. My intuition is that the detail view is not able to find Student Model. or there's not a proper implementation of the DetailView Error TemplateDoesNotExist at /student/login/ /student/5/detail/ Request Method: POST Request URL: http://127.0.0.1:8000/student/login/ Django Version: 3.0.2 Exception Type: TemplateDoesNotExist Exception Value: /student/5/detail/ Exception Location: C:\Users\Madhu\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\template\loader.py in get_template, line 19 Python Executable: C:\Users\Madhu\Anaconda3\envs\MyDjangoEnv\python.exe Python Version: 3.8.1 Python Path: ['D:\\python\\DJANGO_COURSE_2.xx\\Practice1\\Library', 'C:\\Users\\Madhu\\Anaconda3\\envs\\MyDjangoEnv\\python38.zip', 'C:\\Users\\Madhu\\Anaconda3\\envs\\MyDjangoEnv\\DLLs', 'C:\\Users\\Madhu\\Anaconda3\\envs\\MyDjangoEnv\\lib', 'C:\\Users\\Madhu\\Anaconda3\\envs\\MyDjangoEnv', 'C:\\Users\\Madhu\\Anaconda3\\envs\\MyDjangoEnv\\lib\\site-packages'] Server time: Thu, 30 Apr 2020 06:12:11 +0000 Template-loader postmortem Django tried loading these templates, in this order: Using engine django: This engine did not provide a list of tried templates. urls.py from django.urls import path from . import views #Url patterns app_name = 'students' urlpatterns=[ path('signup/',views.studentsignup, name='signup'), path('<int:pk>/detail/',views.StudentDetailView.as_view(),name='detail'), path('login/',views.loginPage, name='login'), ] views.py def loginPage(request): if request.method=='POST': #if request method is post form = Login(request.POST) print('method is post') if form.is_valid(): # if form is valid then email = form.cleaned_data['email'] password = form.cleaned_data['password'] user = User.objects.get(email=email) print('user is authenticated',user) if user is not None: # if user exists then login(request,user) print('student login done') return render(request,reverse('students:detail',args=[user.student.id])) else: # … -
CheckboxInput always displays ON
I have a CheckboxInput which gets/sets its value to a db, but the CheckboxInput always displays as ON. The db updates correctly and if i am to remove the CheckboxInput and make it a normal checkbox, the output displays correctly. done = forms.NullBooleanField(label='Have you finished', required=False, widget=forms.CheckboxInput(attrs={'checked data-toggle':'toggle', 'data-on':'Yes', 'data-off':'No'})) Thank you -
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '+1==2' from '1+1==2'
Django is throwing the following error whenever I open my page : django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '+1==2' from '1+1==2' Because of this I'm not getting anything in my dropdown list. Please help me solve it. Thank you. html code : {% if 1+1 ==2 %} <form action="{% url 'menu' %}" method="post"> {% csrf_token %} <select name="regplace"> {% for r in regular %} <option>{{r}}</option> {% endfor %} </select> <select name="sicplace"> {% for s in sicilian %} <option>{{s}}</option> {% endfor %} </select> <select name="subplace"> {% for u in subs %} <option>{{u}}</option> {% endfor %}} </select> <select name="salplace"> {% for a in salad %} <option>{{a}}</option> {% endfor %} </select> <select name="toplace"> {% for t in topping %} <option>{{t}}</option> {% endfor %} </select> <select name="paplace"> {% for p in pasta %} <option>{{p}}</option> {% endfor %} </select> <select name="dinplace"> {% for d in dinner %} <option>{{d}}</option> {% endfor %} </select> <input type="submit" value="place order"/> </form> {% endif %} python code : def menu(request): regular = Regular.objects.all() sicilian = Sicilian.objects.all() subs = Subs.objects.all() salad = Salads.objects.all() topping = Toppings.objects.all() pasta = Pasta.objects.all() dinner = Dinner.objects.all() regplac = str(request.POST["regplace"]) sicplac = str(request.POST["sicplace"]) subplac = str(request.POST["subplace"]) salplac = str(request.POST["salplace"]) toplac = str(request.POST["toplace"]) paplac = str(request.POST["paplace"]) dinplac … -
html page missing the alignment in every iteration in Django Template
I have an HTML for cricket fixtures where I need to iterate it through the data in models. If I add a different div tag of the same content in the next line it gets aligned properly but when I'm generating the models data I see the alignment is changed to every iteration. It looks like the image shown here HTML code: <!DOCTYPE html> <html lang="en"> <head> {% load staticfiles %} <meta charset="utf-8"> <link rel="stylesheet" href="{% static 'css/fixture.css' %}"> </head> <body> </header> <div class="page"> <div id="fb-root"></div> <div id="page-wrapper" class="container" style="display:inline-block;"> <div id="shosh" class="ad-unit shosh-embed" style="height:0; width:980px; text-align:center;"></div> <div style="margin-top:5px;"></div> {% for fixture in fixtures %} <div class="cb-bg-white cb-schdl cb-col cb-col-100"> <h1 class='cb-schdl-hdr cb-font-24 line-ht30'>Cricket Schedule</h1> <div id="international-list" class="cb-bg-white"> <div class="cb-col-100 cb-col"> <div class="cb-lv-grn-strip text-bold">{{fixture.date}}</div> <div class="cb-col-100 cb-col"> <div class="cb-col-33 cb-col cb-mtchs-dy text-bold">West Indies tour of England, 2020 (Postponed)</div> <div class="cb-col-67 cb-col"> <div class="cb-ovr-flo cb-col-60 cb-col cb-mtchs-dy-vnu cb-adjst-lst"> <a href="/live-cricket-scores/23239/eng-vs-wi-1st-test-day-1-west-indies-tour-of-england-2020-postponed" title="ENG vs WI, 1st Test, Day 1 Live Cricket Score">England vs West Indies, 1st Test, Day 1</a> <div class="cb-font-12 text-gray cb-ovr-flo">Kennington Oval, London</div> </div> <div class="cb-col-40 cb-col cb-mtchs-dy-tm cb-adjst-lst"> <span class="schedule-date" timestamp="1591264800000" venue="+01:00" format="h:mm a"></span> <div class="cb-font-12 text-gray"> <span>10:00 AM</span> GMT /<span> 11:00 AM</span> LOCAL </div> </div> </div> </div> </div> {% … -
Beautiful Soup - Extract data only contain td tag (without tag like div, id, class....)
I'm new to Beautiful Soup, and I have data like this, which contain 3 set of user data(for this case). I want to get all the information for each USER_ID and save to database. User ID Title Content PID(not every user has this row) Date URL <table align="center" border="0" style="width:550px"> <tbody> <tr> <td colspan="2">USER_ID 11111</td> </tr> <tr> <td colspan="2">string_a</td> </tr> <tr> <td colspan="2"><strong>content: aaa</strong></td> </tr> <tr> <td colspan="2"><strong>date:</strong>2020-05-01 00:00:00 To 2020-05-03 23:59:59</td> </tr> <tr> <td colspan="2"><strong>URL:https://aaa.com</strong></td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td colspan="2">USER_ID 22222</td> </tr> <tr> <td colspan="2">string_b</td> </tr> <tr> <td colspan="2"><strong>content: bbb</strong></td> </tr> <tr> <td colspan="2"><strong>date:</strong>2020-05-01 00:00:00 To 2020-05-03 23:59:59</td> </tr> <tr> <td colspan="2"><strong>URL:https://aaa.com</strong></td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td colspan="2">USER_ID 33333</td> </tr> <tr> <td colspan="2">string_c</td> </tr> <tr> <td colspan="2"><strong>content: ccc</strong></td> </tr> <tr> <td colspan="2"><strong>date:</strong>2020-05-01 00:00:00 To 2020-05-03 23:59:59</td> </tr> <tr> <td colspan="2"><strong>PID:</strong><strong>ABCDE</strong></td> </tr> <tr> <td colspan="2"><strong>URL:https://ccc.com</strong></td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> </tbody> </table> My problem is, All the data are inside td only, and do not contain div name and no parent tag. I can't separate into 3 set of data. I have try the following code, it can find all the USER_ID, but …